在PHP curl调用方面需要帮助

gman_donster

您好:我正在尝试使用curl_init进行API调用;取得了一些不错的进步,但似乎被卡住了...

我们有一个接口(swagger),允许我们执行curl调用并测试它是否有效:这是来自curl的命令:

curl -X POST --header "Content-Type: application/x-www-form-urlencoded" 
--header "Accept: application/json" 
--header "Authorization: Bearer xxxxx-xxxxxx- xxxxx-xxxxxxx" 
-d "username=xxxxxxxx39%40gmail.com&password=xxxx1234"        "http://xxxxxxxxx-xx-xx-201-115.compute-1.amazonaws.com:xxxx/api/users" 

这是我尝试在PHP代码中进行相同的调用:

$json = '{
"username": "xmanxxxxxx%40gmail.com",
"password": "xxxx1234"
}';


  $gtoken='xxxxxx-xxxxxx-xxx-xxxxxxxx';

$token_string="Authorization: Bearer ".$gtoken;


$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://exx-ccc-vvv-vvvv.compute-1.amazonaws.com:xxxx/api/users', //URL to the API
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $json,
CURLOPT_HEADER => true, // Instead of the "-i" flag
CURLOPT_HTTPHEADER => array('Content-Type: application/x-www-form-urlencoded','Accept: application/json',$token_string) 

));

curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE);

$resp = curl_exec($curl);
curl_close($curl); 

我收到一个响应代码“ 500”,使我认为输入内容有问题。所以我想知道是否有人可以帮助您...

drew010

在命令行代码中,您使用来发布标准URL编码的数据字符串,-d "username=xxxxxxxx39%40gmail.com&password=xxxx1234"但在PHP中,您正在创建JSON字符串并将其作为单个发布字段发送(未正确进行URL编码)。

我认为这是您需要的:

$data = array(
    'username' => '[email protected]',
    'password' => 'xxxx1234',
);

$data = http_build_query($data); // convert array to urlencoded string

curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

据我所知,其余代码看起来还不错。

另外,您无需明确设置Content-Type标题,当您将字符串传递给时,cURL会为您完成设置CURLOPT_POSTFIELDSmultipart/form-data如果您将数组传递给,它将设置CURLOPT_POSTFIELDS但是拥有它也没有任何伤害。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在使用PHP的泰米尔字符计数方面需要帮助

来自分类Dev

cURL PHP 新手需要帮助

来自分类Dev

在克服某些behat依赖项与PHP 5.3的不兼容方面需要帮助

来自分类Dev

在使用Gmail SMTP的PHP中发送电子邮件方面需要帮助

来自分类Dev

PHP - 需要 __construct() 帮助

来自分类Dev

在MAAS方面需要帮助

来自分类Dev

在截断方面需要帮助

来自分类Dev

需要帮助的PHP SQL关系

来自分类Dev

需要帮助的巴黎PHP查询

来自分类Dev

需要 Laravael PHP、JavaScript 帮助

来自分类Dev

在多线程方面需要帮助

来自分类Dev

在环回方面需要帮助

来自分类Dev

PHP回复评论方面的一些帮助

来自分类Dev

需要帮助来了解PHP文档语义

来自分类Dev

需要帮助优化laravel-PHP代码

来自分类Dev

需要帮助拉起这个MySQL查询在PHP

来自分类Dev

需要帮助PHP到JSON数组

来自分类Dev

PHP简单表单验证-需要帮助

来自分类Dev

PDO login.php需要帮助完成

来自分类Dev

需要一点帮助php mysql

来自分类Dev

php表格。验证时需要帮助发送

来自分类Dev

在JSON短语php数组中需要帮助

来自分类Dev

PHP-需要帮助以了解注入的代码

来自分类Dev

需要帮助了解mySQL PHP项目

来自分类Dev

我需要帮助以php显示数据

来自分类Dev

需要 PHP url 解码或编码帮助

来自分类Dev

需要帮助在 php 中转换 strtotime()

来自分类Dev

需要 PHP array_search 帮助

来自分类Dev

在 php echo 中需要帮助按钮 href