[英]Setting empty CURLOPT_POSTFIELDS
我正在嘗試使用公共庫函數來使用curl發送GET和POST請求。
function myCurl($url, $postData = null)
{
// Sets some default curl options here
$options = array(
...
CURLOPT_POSTFIELDS => $postData,
...
);
$ch = curl_init();
// this works and sends GET
// unset($options[CURLOPT_POSTFIELDS]);
curl_setopt_array($ch, $options);
curl_exec($ch);
curl_close($ch);
}
如果設置了$postData
,我希望此函數發送POST,否則將其視為GET
。 但是,即使我將CURL_POSTFIELDS
設置為null
,這也會發送POST。 取消設置CURL_POSTFIELDS
選項數組元素將起作用並發送GET
。 但是,有沒有辦法保持CURL_POSTFIELDS
curl選項並將其設置為默認的空值並使其發送GET
請求?
$options = array(
...
);
if(!empty($postData)){
$options[CURLOPT_POSTFIELDS]=$postData;
}
或者,以下方法應該可行,但這是愚蠢的imo:
$options = array(
...
CURLOPT_POSTFIELDS => $postData,
CURLOPT_HTTPGET => empty($postData)
...
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.