[英]translate curl to php
我正在寻找一种使用 PHP 执行此操作的方法:
curl -X POST <url> -H 'Authorization: AccessKey <key>' -d "recipients=xxx" -d "originator=yyy" -d "body=zzz"
到目前为止,这是我想出的,但 api 唯一响应的是“假”:
//headers
$headers=array(
'Authorization: AccessKey key',
);
//postfields
$postfields=array(
'originator'=>'yyy',
'recipients'=>array('xxx'),
'body'=>'zzz',
);
$ch=curl_init();
curl_setopt_array(
$ch,
array(
CURLOPT_URL=>'url',
CURLOPT_HEADER=>true,
CURLOPT_HTTPHEADER=>$headers,
CURLOPT_POST=>true,
CURLOPT_POSTFIELDS=>$postfields,
CURLOPT_RETURNTRANSFER=>true,
)
);
$data=curl_exec($ch);
curl_close($ch);
var_dump($data);
试试这个( https://incarnate.github.io/curl-to-php/ ):
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'url');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "recipients=xxx&originator=yyy&body=zzz");
$headers = array();
$headers[] = 'Authorization: AccessKey <key>';
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
您的代码看起来正确,所以我会添加一些错误日志来确定无响应的原因。 您可以使用curl_error()
函数在$data
为 false 时获取错误。
// fetch remote contents
if ( false === ( $data = curl_exec( $ch ) ) ) {
// get the curl error
$error = curl_error( $ch );
var_dump( $error );
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.