Ich glaube, dass die Header ein einfaches Array sein müssen, dessen Elemente Vollschlüssel sind: Wertheader, kein assoziatives Array:
%Vor% Dies ist in der curl_setopt()
Dokumentation angegeben.
Sie haben einen Akzeptiertyp für Ihre Anfrage festgelegt (und verwenden Sie dazu Michael ), Sie sollten seine Antwort zählen als Antwort auf die direkte Frage, denn es tut). Das bedeutet nicht, dass der Server mit diesem Inhaltstyp residiert.
Wenn das andere Ende der Anfrage eine statische Datei ist, müssen Sie sicherstellen, dass Ihr Webserver diese Datei mit einem MIME-Typ von application / xml sendet. Wenn es mit .xml endet, machen Apache und IIS dies bereits. Wenn es sich um eine nicht standardmäßige Dateierweiterung handelt, die jedoch als application / xml gesendet werden soll, müssen Sie den Server-Manager dazu bringen, die httpd.conf oder .htaccess für den Mime-Typ zu definieren die Datei. In IIS verwenden Sie die GUI-Verwaltungstools, um dasselbe zu tun, indem Sie einen MIME-Typ für die Dateierweiterung als application / xml hinzufügen.
Wenn das andere Ende der Anfrage eine serverseitige Skriptsprache wie PHP, Perl, Python, ColdFusion, ASP, ASP.net usw. ist, dann müssen Sie die entsprechende Methode / Funktion in dieser Sprache für das Skript verwenden aufgerufen werden, um den Header des Inhaltstyps auszugeben und auf application / xml zu setzen.
Update: Sie sagen in Kommentaren, Sie verwenden WizTools, um eine Anfrage zu senden, die eine Rückgabe von application / xml erhält. Wenn Sie diese Umgebung kopieren möchten, senden Sie ALLE gesendeten Header in Ihrer Curl-Anforderung. Eine Vermutung ist, dass User Agent im Spiel sein könnte.
Tags und Links php curl http-headers