将curl命令转换为PHP

时间:2013-11-19 12:40:50

标签: php curl

我有这个命令

curl -k '"url."' -d 'APACScommand=NewRequest' -d 'data="XML"

我想使用PHP的curl库。

我想-k标志我只是打电话给

curl_init($url)

我知道-d代表数据。我应该使用这样的东西吗?

curl_setopt($handle, CURLOPT_POSTFIELDS, $data);

我看到有两个 数据标志,是不是第二个要覆盖第一个?

修改

我已经看到-k标志可能被

取代
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

是正确的吗?或者甚至不需要添加它?

2 个答案:

答案 0 :(得分:1)

只需将数据构建为数组:

$data = array('APACScommand' => 'NewRequest', 
              'data' => 'XML');

然后简单地传递一下:

curl_setopt($handle, CURLOPT_POSTFIELDS, $data);

答案 1 :(得分:1)

您可以尝试使用http_build_query

吗?
 $data = array('APACScommand'=>'NewPayment',
          'data'=>$command
          );

$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$reply=curl_exec($ch);
curl_close($ch);

参考:http://php.net/manual/en/function.curl-setopt.php