private function _curl($url, $values)
{
$curl = curl_init($url);
$options = array(
CURLOPT_VERBOSE => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => http_build_query($values),
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_TIMEOUT => 10,
CURLOPT_HTTPHEADER => "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
//CURLOPT_SSL_VERIFYPEER => false //for dev
);
curl_setopt_array($curl, $options);
$rep = curl_exec($curl);
parse_str($rep, $response);
curl_close($curl);
return $response;
}
这就是我正在使用的代码,我一直收到这些警告:
PHP Warning: curl_setopt_array(): You must pass either an object or an array with the CURLOPT_HTTPHEADER, CURLOPT_QUOTE, CURLOPT_HTTP200ALIASES and CURLOPT_POSTQUOTE arguments
这段代码已经正常运行了年,只是突然出现了问题。
我只需要传递这些参数,但是我想知道为什么这突然不起作用了,而它以前是正常工作的?有没有办法不传递参数就解决这个问题?我似乎也找不到任何文档说明需要这些参数…
1条答案
按热度按时间bsxbgnwa1#
问题是CURLOPT_HTTPHEADER需要是一个数组,如下所示: