2010-10-29 4 views
15

Ich versuche, eine Binärdatei an einen Server über HTTP zu senden. Der Anfang der Datei enthält Header bereitsPOST-Binärdatei mit cmd Zeile curl unter Verwendung der Header in der Datei enthalten

Ich versuche, für Fenster, wie so eine Datei mit Kommandozeilenversion von curl zu senden:

C:> curl -H „Content-Type: application/octet- stream "--data-binary @ asdf.file http://server:1234/url

Curl fügt Header hinzu, die eine 400 Bad Request verursachen.

Wenn ich den exakt gleichen Befehl mit der Linux-Version von Curl ausführen, wird der Post abgeschlossen?

+2

Ich finde es seltsam, dass curl Header hinzufügen würde, die zu einer schlechten Anfrage führen. Sie sollten versuchen, '-v' hinzuzufügen, um zu sehen, welche Header-Funktion tatsächlich gesendet wird. – flesk

Antwort

21

Verwenden

curl --header "Content-Type:application/octet-stream" --trace-ascii debugdump.txt --data-binary @asdf.file http://server:1234/url 

Oder

installieren wireshark oder Fiedler in den Fenstern der HTTP-Anforderung, um zu sehen, dass das Netzwerk fließt.

überprüfen Sie die Header und die Werte gesendet werden. Curl fügt standardmäßig nur wenige Header hinzu. Diese Standard-Header können vom HTTP-Server, mit dem Sie sich bei Windows verbinden, inkompatibel/nicht akzeptiert sein.

Um den Wert der Kopfzeile (standardmäßig hinzugefügt) zu ändern, können Sie Kopfzeile gefolgt von Semikolon hinzufügen. Beispiel: Content-Type;, um den Wert null festzulegen.

+0

Ich hatte ein Problem mit Suhosin auf PHP. _ALERT - konfigurierte Länge der angeforderten Variablenlänge überschritten - Variable droped_ Der Standardinhaltstyp ist application/x-www-form-urlencoded. Wenn Sie ihn nicht explizit angeben, können Sie auf einigen Servern einige Sicherheitsregeln auslösen. Das hat das Problem für mich behoben. – Phil

+0

Schließlich weiß jemand, wie man den Dateinamen auf der Zielseite einstellt? 'cat /tmp/12047.csv | curl -v -X POST --header "Inhaltstyp: application/octet-stream" --data-binary @ - someUrl'? – Nick

Verwandte Themen