1

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 Answers 2

1

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

Sign up to request clarification or add additional context in comments.

11 Comments

CURLOPT_RETURNTRANSFER is -k flag?
It return the transfer as a string of the return value of curl_exec() instead of outputting it out directly.
I did exactly what you told me and it work but then I tried it later and I had a problem with the second data which is XML, can you help me out?
what is your data to be passed ?
I updated my post I hope you see what the problem is?
|
1

Just build the data as an array:

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

And then simply pass this:

curl_setopt($handle, CURLOPT_POSTFIELDS, $data);

1 Comment

cURL can accept an array directly and do the query-building itself. So http_build_query() isn't required.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.