douzou8074 2013-11-19 12:40
浏览 110
已采纳

将curl命令转换为PHP

I have this command

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

I want to use the curl library of PHP.

I guess for -k flag I just call

curl_init($url)

I know that -d stands for data. Should I use something like this?

curl_setopt($handle, CURLOPT_POSTFIELDS, $data);

I see there are two data flag, isn't the second one going to override the first?

Edit

I've seen that -k flag may be replaced by

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

is it correct?Or it isn't even necessary to add it?

  • 写回答

2条回答 默认 最新

  • donljt2606 2013-11-19 12:45
    关注

    Can you try this, use 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);
    

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?