it-swarm.com.de

Show Curl POST Header anfordern? Gibt es eine Möglichkeit, dies zu tun?

Ich erstelle eine Curl-Webautomations-App und habe ein Problem damit, dass ich nicht das gewünschte Ergebnis meiner POST) -Aktion erhalte. Ich habe einige Probleme, herauszufinden, wie ich das gesamte Ergebnis anzeigen kann POST Anfrage, über die ich sende (mit Headern), ich habe danach gesucht, aber alles, was auftaucht, sind die Antwort-Header, eigentlich möchte ich diese auch, aber auch die Anfrage, die keiner der Posts, die ich finde auf google scheinen zu erwähnen ..

Ich weiß, dass ich das Ergebnis einer Curl-Anfrage mit etwas wie diesem anzeigen kann (verzeihen Sie mir, wenn meine Syntax deaktiviert ist, habe ich meine virtuelle Maschine bereits mit meinem ide und dem Code heruntergefahren, auf den ich verweisen möchte

 $result = curl($curl_exect) ;

Wie auch immer, ich würde mich sehr über Ratschläge freuen, wie man die vollständigen Überschriften anzeigt, danke

80
Rick

Sie können die Informationen zur Übertragung anzeigen, indem Sie folgende Schritte ausführen:

curl_setopt($curl_exect, CURLINFO_HEADER_OUT, true);

vor der Anfrage und

$information = curl_getinfo($curl_exect);

nach der Anfrage

Ansicht: http://www.php.net/manual/en/function.curl-getinfo.php

Sie können auch das CURLOPT_HEADER in deinem curl_setopt

curl_setopt($curl_exect, CURLOPT_HEADER, true);

$httpcode = curl_getinfo($c, CURLINFO_HTTP_CODE);

if($httpcode == 200) {
    return true;
}

return false;

Dies sind nur einige Methoden zur Verwendung der Header.

68
RobertPitt

Hier ist alles was Sie brauchen:

curl_setopt($curlHandle, CURLINFO_HEADER_OUT, true); // enable tracking
... // do curl request    
$headerSent = curl_getinfo($curlHandle, CURLINFO_HEADER_OUT ); // request headers
163
Joseph Lust

Sie können alle per Curl gesendeten Header in einer Datei speichern, indem Sie Folgendes verwenden:

$f = fopen('request.txt', 'w');
curl_setopt($ch,CURLOPT_VERBOSE,true);
curl_setopt($ch,CURLOPT_STDERR ,$f);
9
Nassim Aouragh

Sie können Header selbst anfordern, indem Sie Folgendes verwenden:

// open a socket connection on port 80
$fp = fsockopen($Host, 80);

// send the request headers:
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $Host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data);

$result = ''; 
while(!feof($fp)) {
    // receive the results of the request
    $result .= fgets($fp, 128);
}

// close the socket connection:
fclose($fp);

Wie geschrieben am wie Anfrage stellen

6
Liutas

Ich hatte in letzter Zeit genau das gleiche Problem und habe Wireshark (ein Netzwerküberwachungstool) installiert. Sie können damit alles sehen, außer verschlüsselten Datenverkehr (HTTPS).

3
greg0ire