如何在PHP CURL请求中实现命令行CURL
我想在PHP CURL请求中实现以下命令行CURL如何在PHP CURL请求中实现命令行CURL,php,curl,command-line,Php,Curl,Command Line,我想在PHP CURL请求中实现以下命令行CURL curl --data username=ekansh&domain=siteURL&password=mypass http://siteURL:8090/add-user -k -v -u apiuser:yru3472825fhj 我已经尝试了以下相同的代码: $fields = array('domain'=> 'siteURL','password'=> 'mypass','apiuser'=&
curl --data username=ekansh&domain=siteURL&password=mypass
http://siteURL:8090/add-user -k -v -u apiuser:yru3472825fhj
我已经尝试了以下相同的代码:
$fields = array('domain'=> 'siteURL','password'=> 'mypass','apiuser'=>
'yru3472825fhj','username'=> 'ekansh');
$data=>array(CURLOPT_POST => 1,CURLOPT_HEADER => 0,CURLOPT_URL =>
$url,CURLOPT_FRESH_CONNECT => 1,CURLOPT_RETURNTRANSFER => 1,CURLOPT_FORBID_REUSE =>
1,CURLOPT_TIMEOUT => 4,CURLOPT_POSTFIELDS => http_build_query($_POST));
$ch = curl_init();
$options=$fields+$defaults;
curl_setopt_array($ch,$options);
$result=curl_exec($ch)
curl_close($ch);
但是这不起作用。。我在$result中没有得到任何回应。我将如何实现上述代码
更新
$fields = array('domain' => 'siteurl','password' => 'mypass',
'apiuser'=> 'yru3472825fhj','username'=> 'ekansh');
$data=array(CURLOPT_POST => 1,CURLOPT_HEADER => 0,CURLOPT_URL =>
'siteurl',CURLOPT_FRESH_CONNECT => 1,CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FORBID_REUSE => 1,CURLOPT_TIMEOUT => 4,
CURLOPT_POSTFIELDS => $fields);
$ch = curl_init();
curl_setopt_array($ch,$data);
$result=curl_exec($ch);
curl_close($ch);
我已经修改了上面的代码,但它仍然不工作。在
$data
数组中,它应该是:
CURLOPT_POSTFIELDS => $fields
curl_setopt_array($ch, $data);
要设置所有选项,它应该是:
CURLOPT_POSTFIELDS => $fields
curl_setopt_array($ch, $data);
这一行没有任何作用:
$options = $fields + $defaults;
您不能在数组上使用+
,也不能设置$defaults
对于身份验证,您需要使用以下选项:
CURLOPT_USERPWD => 'apiuser:yru3472825fhj'
与其将它们放入
$data
数组中的$data
中,不如:
CURLOPT_POSTFIELDS => $fields
curl_setopt_array($ch, $data);
要设置所有选项,它应该是:
CURLOPT_POSTFIELDS => $fields
curl_setopt_array($ch, $data);
这一行没有任何作用:
$options = $fields + $defaults;
您不能在数组上使用+
,也不能设置$defaults
对于身份验证,您需要使用以下选项:
CURLOPT_USERPWD => 'apiuser:yru3472825fhj'
而不是把它们放在
$data
中。1) +
似乎对数组不起作用;2) 您可能错误地将curl options设置为$options
,而不是$data
。@Passerby请参见以上更新内容。1) +
似乎对数组不起作用;2) 您可能错误地将curl options设置为$options
,而不是$data
@passery请参阅上面的更新查看有关身份验证的其他答案。请参阅有关身份验证的其他答案。