Как отправить запрос POST с помощью PHP? - PullRequest
596 голосов
/ 13 апреля 2011

На самом деле я хочу прочитать содержимое, которое идет после поискового запроса, когда это будет сделано. Проблема в том, что URL принимает только методы POST и не предпринимает никаких действий с методом GET ...

Я должен прочитать все содержимое с помощью domdocument или file_get_contents(). Есть ли какой-нибудь метод, который позволит мне отправлять параметры методом POST, а затем читать содержимое через PHP?

Ответы [ 12 ]

2 голосов
/ 19 декабря 2018

Лучший способ отправки GET или POST запросов с PHP выглядит следующим образом:

<?php
    $r = new HttpRequest('http://example.com/form.php', HttpRequest::METH_POST);
    $r->setOptions(array('cookies' => array('lang' => 'de')));
    $r->addPostFields(array('user' => 'mike', 'pass' => 's3c|r3t'));

    try {
        echo $r->send()->getBody();
    } catch (HttpException $ex) {
        echo $ex;
    }
?>

Код взят из официальной документации здесь http://docs.php.net/manual/da/httprequest.send.php

1 голос
/ 13 апреля 2011

Попробуйте пакет PEAR HTTP_Request2 , чтобы легко отправлять запросы POST.Кроме того, вы можете использовать функции curl в PHP или использовать потоковый контекст PHP .

HTTP_Request2 также позволяет макетировать сервер, поэтому вы можете легко выполнить модульное тестирование кода

...