Wie kann ich einen Antrag stellen, sowohl mit GET und POST-Parameter in PHP mit cURL?

Andere Leute haben schon gefragt, wie dies aus perl, java, bash, etc. aber ich muss es in PHP, und ich sehe nicht, jede Frage schon gefragt, in Bezug auf (oder mit den Antworten) PHP.

Mein code:

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);

Funktioniert das nicht. Die Ziel-Website hat print_r($_GET); print_r($_POST);, wenn ich also untersuchen Sie die $result ich sollte in der Lage sein zu sehen, die Felder, die gesendet werden. Doch die $_POST-array ist leer - ich sehe nur die get-Variablen. Wenn ich entfernen Sie die ?... query-string aus der $url, dann das POST-array ist ordnungsgemäß gefüllt. Aber jetzt habe ich nicht die GET-params. Wie mache ich das?

Meinem konkreten Fall ist, muss ich senden zu viele Daten, um es zu passen in den query-string, aber ich kann nicht senden Sie es als BEITRAG, weil die Seite, die ich senden möchten, wählen Sie einen handler für die eingestellten Daten basieren auf einer Variablen in der GET-string. Ich kann es versuchen und haben sich geändert, aber im Idealfall würde ich mag in der Lage sein, zu senden der get-und post-Daten in der gleichen Abfrage.

hayageek.com/php-curl-post-get
Sie können nicht führen Sie eine POST und GET gleichzeitig, Sie können hinzufügen, einige querystring-Parameter zu Ihrer url, aber hinzufügen POST-vars, die Sie zu tun haben einen BEITRAG.
Ja, das ist ein sehr schönes basic-tutorial, aber es geht nicht auf meine Frage - wie kann ich senden Sie GET-und POST - gleichzeitig?
Sie kann es nicht, aber lassen Sie sich nicht von PHP ' s $_GET und $_POST superglobals verwirren, Sie zu denken, dass ein query-string eine Besondere GET-Anforderung Ding.
Sie sollten Lesen, auf, wie HTTP funktioniert, um wirklich verstehen zu können. Es gibt nur ein verb pro Anfrage. Als Quentin und Dan sagte, Sie kann Variablen in den query-string und verwenden immer noch das POST-verb.

InformationsquelleAutor Benubird | 2014-09-03

Schreibe einen Kommentar