Ala*_*orm 12 php debugging curl http
几乎任何正在运行的PHP程序员都必须使用CURL来发送原始HTTP请求,无论是用于信用卡支付处理,恶意屏幕抓取还是介于两者之间.
几乎所有PHP程序员聚集的论坛都有很多人无法获得cURL功能来做他们想做的事情.
当cURL不适合您时,您使用什么故障排除技术来找出它无法正常工作的原因?PHP的卷曲实现有什么奇怪的问题你遇到了什么?如果有人在论坛上询问"HALP MY CURL IZ BROKEN"问题,您采取了哪些步骤来弄清楚他们的请求无效的原因?
Vol*_*erK 15
我发现CURLINFO_HEADER_OUT选项非常有用.
<?php
$curl = curl_init('http://www.php.net');
curl_setopt($curl, CURLOPT_HEADERFUNCTION, 'dbg_curl_data');
curl_setopt($curl, CURLOPT_WRITEFUNCTION, 'dbg_curl_data');
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_exec($curl);
echo '<fieldset><legend>request headers</legend>
<pre>', htmlspecialchars(curl_getinfo($curl, CURLINFO_HEADER_OUT)), '</pre>
</fieldset>';
echo '<fieldset><legend>response</legend>
<pre>', htmlspecialchars(dbg_curl_data(null)), '</pre>
</fieldset>';
function dbg_curl_data($curl, $data=null) {
static $buffer = '';
if ( is_null($curl) ) {
$r = $buffer;
$buffer = '';
return $r;
}
else {
$buffer .= $data;
return strlen($data);
}
}
| 归档时间: |
|
| 查看次数: |
10060 次 |
| 最近记录: |