我正在嘗試使用cURL發佈一些JSON數據,但我在設置標題時遇到問題。使用cURL在PHP 5中發佈JSON數據
我當前的代碼看起來像這樣:測試使用本地主機(PHP 7)當
$ch = curl_init('https://secure.example.com');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string)
]);
if (!$result = curl_exec($ch))
{
echo 'Failed: ' . curl_error($ch);
curl_close($ch);
die;
}
curl_close($ch);
此代碼工作正常。但是,我們的Web服務器僅運行PHP 5,因此不支持CURLOPT_HTTPHEADER
選項。
當我將它放在我的代碼中時,出現「500內部錯誤」。 當我將它取出時,我的curl_exec()
未運行,並且收到錯誤消息「失敗:」,但沒有顯示curl_error()
。
有沒有辦法設置cURL期望JSON數據沒有這個選項?
你在網絡服務器上有什麼cURL版本? – apokryfos
如果你得到一個500,你會看看服務器的錯誤日誌中的細節。 –
實際上,PHP 5中不支持聲明*'CURLOPT_HTTPHEADER'選項*爲false。 – apokryfos