什么是PHP中的等效curl请求

时间:2019-05-10 01:21:37

标签: php laravel curl

我正在尝试使用PHP进行卷曲:

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"

到目前为止,我想到了这个:

$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);

我正在尝试使用IBM的Personality Insights服务。

1 个答案:

答案 0 :(得分:0)

让我们尝试一下-

$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);