试图为CURL编写init函数。但是有错误
警告:curl_setopt()期望参数2为long,字符串为
代码很简单。
$config['CURLOPT_URL'] = "https://weburl/index.action";
$config['CURLOPT_VERBOSE'] = 0;
$config['CURLOPT_SSLVERSION'] = 3;
$config['CURLOPT_SSL_VERIFYPEER'] = FALSE;
$config['CURLOPT_SSL_VERIFYHOST'] = 2;
$config['CURLOPT_FOLLOWLOCATION'] = 0;
$tuCurl = curl_init();
foreach($this->config as $key => $val)
{
curl_setopt($tuCurl, $key, $val);
}
答案 0 :(得分:5)
您的$key
应该是constants(长型),而不是字符串,所以
$config['CURLOPT_URL'] = "https://weburl/index.action";
$config['CURLOPT_VERBOSE'] = 0;
$config['CURLOPT_SSLVERSION'] = 3;
$config['CURLOPT_SSL_VERIFYPEER'] = FALSE;
$config['CURLOPT_SSL_VERIFYHOST'] = 2;
$config['CURLOPT_FOLLOWLOCATION'] = 0;
应该是
$config[CURLOPT_URL] = "https://weburl/index.action";
$config[CURLOPT_VERBOSE] = 0;
$config[CURLOPT_SSLVERSION] = 3;
$config[CURLOPT_SSL_VERIFYPEER] = FALSE;
$config[CURLOPT_SSL_VERIFYHOST] = 2;
$config[CURLOPT_FOLLOWLOCATION] = 0;
然而,更好的方法是使用curl_setopt_array代替curl_setopt
。
curl_setopt_array($tuCurl, $config);
答案 1 :(得分:3)
curl_setopt期望其中一个CURLOPT_ *常量(整数)作为其第二个参数。
您可以使用
curl_setopt($tuCurl, constant($key), $val); // notice the constant function
或使用curl_setopt_array并使用常量而不是数组键(删除引号)。
答案 2 :(得分:1)
cURL选项是表示数值的常量。你正在使用它们作为字符串,这是错误的。这样做:
$config[CURLOPT_URL] = "https://weburl/index.action";
// ...