0
我正在嘗試使用curl與第三方服務器進行通信。服務器始終以curl響應200,但在瀏覽器中訪問時會給出錯誤消息
認證體系如下:
- 使用憑證索要餅乾
- 設置cookie的
- 提出請求
這本身並不是一個問題,我能夠發出請求等,但無論我發送服務器總是響應200即使我發送無效的數據格式。如果我在瀏覽器中放置相同的URL,它將返回有關無效格式的錯誤消息。
有誰知道這可能是爲什麼?在此先感謝,
function go($url,$postvars=null)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookie_.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookie_.txt');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POST,count($postvars));
$postfields = http_build_query($postvars);
curl_setopt($ch, CURLOPT_POSTFIELDS,$postfields);
curl_exec($ch);
curl_close($ch);
}
go($url,$login_array); //login=>'',pass=>''
go($url,$some_request_array);
嗨,喬恩。非常感謝。那就是問題所在。但是,爲什麼curl不會顯示200錯誤信息? – rix
打敗我,我猜想它可能是,但是否會看到它,將不僅取決於您對響應做了什麼,而且可能會從HTTP(我所知道的)進一步移動到捲曲的工作方式(我不知道)。 –