简体   繁体   中英

What is the equivalent curl request in PHP

I'm trying to get in PHP this curl:

curl -X POST -u "apikey:MY_API_KEY" \
--header "Content-Type: text/plain;charset=utf-8" \
--header "Accept: application/json" \
--data-binary "MY_TEXT" \
"https://MY_DIRECTION"

so far I came up with this:

$curl = curl_init();
 $post_args = array('data-binary' => $MY_TEXT );
 $header_args = array(
     'Content-Type: text/plain;charset=utf-8',
     'Accept: application/json'
 );
 $apiKey = '$MY_API_KEY';
 $api_args = array('apikey: ' . $apiKey);
 curl_setopt($curl, CURLOPT_POST, true);
 curl_setopt($curl, CURLOPT_HTTPHEADER, $api_args);
 curl_setopt($curl, CURLOPT_POSTFIELDS, $post_args);
 curl_setopt($curl, CURLOPT_HTTPHEADER, $header_args);
 curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
 curl_setopt($curl, CURLOPT_URL, $MY_DIRECTION);
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

 $result = curl_exec($curl);
 curl_close($curl);
 json_decode($result, true);

I'm trying to use Personality Insights service of IBM.

Let's try with this-

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://MY_DIRECTION');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "MY_TEXT");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, 'apikey' . ':' . 'MY_API_KEY');

$headers = array();
$headers[] = 'Content-Type: text/plain;charset=utf-8';
$headers[] = 'Accept: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close ($ch);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM