2013-10-23 55 views
0

我想弄清楚爲什麼將自定義頭文件放在服務器上導致400 BAD REQUEST。PHP curl()頭文件錯誤請求

$headers = array(
        'API KEY: asdf', 
        ); 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0"); 
    curl_setopt($ch, CURLOPT_URL, 'http://url'); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'stuff'); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, './tmp/cookie.txt'); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 

    curl_setopt($ch, CURLOPT_PROXYPORT, '0000'); 
    curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP'); 
    curl_setopt($ch, CURLOPT_PROXY, '0.0.0.0'); 

    $result = curl_exec($ch); 
    curl_close($ch); 

我想到用CURLOPT_HTTPHEADER將自定義標題添加到請求,但現在我想知道是否它只是壓倒一切的我設置?

+0

'API KEY'似乎不是一個有效的http頭。 –

+0

也許這會奏效'curl_setopt($ ch,CURLOPT_HTTPHEADER,array('X-API KEY:asdf'));',不確定。 –

+0

API KEY應該是一個自定義頭文件,我嘗試了'curl_setopt($ ch,CURLOPT_HTTPHEADER,array('X-API KEY:asdf'));'得到了相同的結果。 –

回答

0

服務器給出400響應的原因比標題值更多。沒有關於端點的更多信息,很難說出是什麼導致了400響應。除了示例中的標題數組中額外的「,」代碼看起來沒問題。 cURL Options