Используя PHP Curl, как я могу посмотреть, что именно отправляется? - PullRequest
0 голосов
/ 15 декабря 2009

Например, в следующем фрагменте CURL:

  $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url); //set target URL
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);// allow redirects
    curl_setopt($ch, CURLOPT_POST, $usePost); // set POST method
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); //set headers
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_HEADER, $returnHeaders); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //prevent unverified SSL error

Перед тем, как запустить на нем curl_exec, что делать, если я хочу увидеть полные заголовки и тело запроса перед его отправкой? (чтобы убедиться, что правильно следует определенным рекомендациям API REST) ​​

Ответы [ 2 ]

1 голос
/ 15 декабря 2009

Вы можете отправить запрос на локальный сервер:

$test_url = 'http://localhost/nonexistent-page';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $test_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true); 
// Other options.
curl_exec($ch);

echo nl2br(curl_getinfo($ch, CURLINFO_HEADER_OUT));

Это даст вам заголовки запроса, только путь строки запроса и строка Host: отличаются от вашего фактического запроса.

0 голосов
/ 02 мая 2011

Если у вас есть доступ к графической среде на вашем сервере, вы можете использовать Wireshark для проверки отправляемых и получаемых сетевых пакетов. Wireshark позволяет использовать фильтры, отфильтровывать конкретные IP-адреса и протоколы.

Например, я использую этот фильтр для просмотра всего трафика от моих запросов / ответов cURL на сервер с IP-адресом w.x.y.z (замените ip сервера, к которому вы подключаетесь):

ip.addr == w.x.y.z && http

Затем я могу просмотреть ответы на все мои запросы. Это дало мне отличное понимание того, что происходит «под капотом».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...