php cURL CURLOPT_VERBOSE не показывает полезную нагрузку
Хотя приведенный ниже вывод curl предоставляет полезную информацию заголовка, он не предоставляет информацию о полезной нагрузке. Например, я хотел бы видеть {"jason_index","json_value"} в предоставленной отладочной информации.
1.) Можно ли отображать полезную нагрузку в режиме подробного режима?
2.) Как лучше всего просмотреть отправленную полезную нагрузку, которая обрабатывается cURL?
* About to connect() to domain.com port 443 (#0)
* Trying IP... * connected
* Connected to domain.com (IP) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: /usr/share/curl/curl-ca-bundle.crt
CApath: none
* SSL connection using RC4-SHA
* Server certificate:
* subject: /serialNumber=SN/C=CA/ST=Ontario/L=Ottawa/O=ORG Inc./CN=*.domain.com
* start date: 2010-05-10 22:23:08 GMT
* expire date: 2015-08-12 19:17:14 GMT
* subjectAltName: alt.domain.com matched
* issuer: /C=US/O=Equifax/OU=CA
* SSL certificate verify ok.
* Server auth using Basic with user 'userid'
> POST request_uri.json HTTP/1.1
Authorization: Basic auth_string=
User-Agent: UA
Host: alt.domain.com
Accept: */*
Content-Type: application/json; charset=utf-8
Content-Length: 85
< HTTP/1.1 422 Unprocessable Entity
< Server: ServerName
< Date: Thu, 21 Mar 2013 20:08:56 GMT
< Content-Type: application/json; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Status: 422 Unprocessable Entity
<
* Connection #0 to host alt.domain.com left intact
* Closing connection #0
Пример заявления cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_STDERR, fopen(dirname(__FILE__) . "/headers.txt", "w+"));
$result = curl_exec($ch);
1 ответ
Решение
Недавно я столкнулся с этой проблемой, и единственный способ увидеть, что происходит, - использовать отладочный прокси, например:
- Burp Suite - Linux / Windows / Mac (Java)
- скрипач - винда
Другое решение использует инспектор пакетов, как (эта опция не позволит вам увидеть HTTPS
движение):
Решение с прокси легко установить, просто установить и использовать:
curl_setopt($ch, CURLOPT_PROXY, 'localhost:8080'); // default for burp suite
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // ignore certs while connecting to https