2016-09-04 6 views
0

In jQuery/AJAX Sie POST-Anfragen machen können und erhalten ihre Antwort mit so etwas wiePOST Antwortdaten mit cURL

$.post(url, data, function(res){ 
    //do something 
}); 

Wo res die Antwort des Servers enthält. Ich versuche das mit cURL in bash zu replizieren.

curl -d "data=data" --cookie cookies.txt --header "Content-Type:text/html" https://example.com/path > result.html 

Returns Kauderwelsch (eine Art von js Objekt vielleicht?), Aber ich erwarte html. Gibt es eine Möglichkeit, die Daten, die mit cURL in res enthalten sind, abzurufen?

Vielen Dank im Voraus.

+0

Sorry, ich habe die Reihenfolge der URL und Header vertauscht. Sie waren in der richtigen Reihenfolge in dem Skript, das ich benutze (ich habe es geschafft, Anfragen erfolgreich zu bekommen). Ich habe die Frage bearbeitet, um das Problem zu beheben. – SoZettaSho

+0

Wie verstümmelt ist das Kauderwelsch? Wenn es sich um eine echte Unordnung handelt, bei der es sich um komprimierte Daten handeln könnte, versuchen Sie, "--compressed" zu überrollen. – Eric

+0

Das Ergebnis nach dem Übergeben von '--compressed' mit ein paar vertauschten Zeichen ist: <í $ GŽ $ IÒ¼ÿï; (<¹sM²KhØ & r '« ŒÑL3ÀÌÔÓK == ýö ‰' @ "k. '= AI-ÙPdiÒÌæþæ^ä" œ¹, ÒlKy' ¼ ~ "#z <" ° ƒ {÷ '¥ | «§¡éÇYÌ9|AüZ¸ * ì²Bã •" r € h; "×? ÜX¸ \ ªÏzÝÊÊV, Æo§) ª.ýqÛ¶Ù'ç ¥ StrangeTy¬³ -, '~ U \; 7 | Lmi · # 0 ™ ÿ'\t ù = "ÝŽ-ååìÃ; – SoZettaSho

Antwort

1

Manchmal senden Server komprimierten Inhalt zurück. Es sieht wie ein zufälliger Müll aus. Verwenden Sie curl --compressed, um das dekomprimierte Ergebnis zu erhalten.

0

Es scheint, dass Sie versuchen, Daten von einer POST-Anforderung zu erhalten. Der Server gibt Ihnen ein JavaScript-Objekt zurück. Und Sie bekommen es richtig, Javascript konvertiert zurückgegebene Daten in HTML, nicht cURL. Also im Grunde können Sie das nicht tun.