PHP - свернуть тело запроса просмотра поста (параметры)
Я получаю сообщение об ошибке для отсутствующего параметра при публикации метода cURL POST, я добавляю массив параметров в CURLOPT_POSTFIELDS следующим образом:
$service = "AutoInsuranceFormPostService";
$method = "autoInsurancePublisherFormPost";
$userAgent = "Mozilla%2F5.0+%28Linux%3B+Android+4.4.4%3B+Z752C+Build%2FKTU84P%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F36.0.1985.135+Mobile+Safari%2F537.36";
$payload = $encodedPayLoad;
$parameters = array (
'service' => $service,
'method' => $method,
'UserAgent' => $userAgent,
'payload' => $payload
);
С:
curl_setopt($ch,CURLOPT_POSTFIELDS,$parameters);
Поскольку в ответе отсутствует параметр "service", я решил, что мне нужно отладить тело запроса. Мне удалось получить заголовки с:
curl_getinfo($ch)
Я также попытался использовать:
curl_setopt($ch, CURLOPT_VERBOSE, true);
Но, к сожалению, в обоих случаях я получил только заголовки, а не тело (значения параметров).
Полная функция выполнения локона:
function openurl($url, $postvars) {
$ch=curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, true);
$verbose = fopen('php://temp', 'w+');
curl_setopt($ch, CURLOPT_STDERR, $verbose);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch,CURLOPT_POSTFIELDS,$postvars);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_TIMEOUT, '3');
$result = curl_exec($ch);
rewind($verbose);
$verboseLog = stream_get_contents($verbose);
echo "Verbose information:\n<pre>", htmlspecialchars($verboseLog), "</pre>\n";
return $result;
}
Verbos информация:
Content-Length: 6659
Expect: 100-continue
Content-Type: application/x-www-form-urlencoded; boundary=------------------------45b2d9f6776306b0
< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
< Date: Thu, 12 Jul 2018 16:32:52 GMT
< Server: Apache
< Cache-Control: public
< ORIGIN: S_CACHE
< Vary: User-Agent,Accept-Encoding
< Set-Cookie: _qs_origin=s-cache; path=/;
< Set-Cookie: _qs_deviceType=; path=/;
< Content-Length: 141
< Content-Type: application/json;charset=ISO-8859-1
<
Этот вывод для меня бесполезен, так как я не могу видеть, как параметры были отправлены, и те не могут исправить их формат.
Я получаю ответ:
{"Status":"Fail","StatusCode":"400","ResponseMessage":"\"service\" parameter empty! || \"method\" parameter empty! ","SkipMatchingFlag":"No"}
Я искал решение в течение всего дня, я видел массу ответов на вопросы "Как увидеть тело ответа" и "Как увидеть запрос HEADERS".
Но не для "Как увидеть тело запроса", поэтому любая помощь будет высоко ценится,
С наилучшими пожеланиями.