显示curlPOST请求头部? 有没有办法做到这一点?
我正在build立一个curl的networking自动化应用程序,并有一些问题没有得到我的POST动作的期望的结果,我有一些麻烦,搞清楚如何我可以显示完整的POST请求,我正在发送(标题),我一直在寻找这个,但所有出现的响应标题,其实我也想要这些,但也请求,哪些我发现在谷歌上的post似乎没有提及..
我知道我可以使用这样的东西显示curl请求的结果(原谅我,如果我的语法是closures的,我已经closures我的虚拟机与我的ide和代码引用
$result = curl($curl_exect) ;
无论如何,我将不胜感激关于如何查看完整标题的任何build议,谢谢
你可以看到有关转移的信息:
curl_setopt($curl_exect, CURLINFO_HEADER_OUT, true);
在请求之前,和
$information = curl_getinfo($curl_exect);
请求后
查看: http : //www.php.net/manual/en/function.curl-getinfo.php
你也可以在curl_setopt
使用CURLOPT_HEADER
curl_setopt($curl_exect, CURLOPT_HEADER, true); $httpcode = curl_getinfo($c, CURLINFO_HTTP_CODE); if($httpcode == 200) { return true; } return false;
这些只是使用标题的一些方法。
这是你需要的一切:
curl_setopt($curlHandle, CURLINFO_HEADER_OUT, true); // enable tracking ... // do curl request $headerSent = curl_getinfo($curlHandle, CURLINFO_HEADER_OUT ); // request headers
您可以使用以下命令将由curl发送的所有标题保存到文件中:
$f = fopen('request.txt', 'w'); curl_setopt($ch,CURLOPT_VERBOSE,true); curl_setopt($ch,CURLOPT_STDERR ,$f);
您可以使用以下方式自行申请标题:
// open a socket connection on port 80 $fp = fsockopen($host, 80); // send the request headers: fputs($fp, "POST $path HTTP/1.1\r\n"); fputs($fp, "Host: $host\r\n"); fputs($fp, "Referer: $referer\r\n"); fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n"); fputs($fp, "Content-length: ". strlen($data) ."\r\n"); fputs($fp, "Connection: close\r\n\r\n"); fputs($fp, $data); $result = ''; while(!feof($fp)) { // receive the results of the request $result .= fgets($fp, 128); } // close the socket connection: fclose($fp);
就像如何写请求一样
我最近遇到了同样的问题,我安装了Wireshark(这是一个networking监视工具)。 除了encryptionstream量(HTTPS)之外,您可以看到所有内容。