使用CURL通过PHP发送POST请求

时间:2017-03-24 10:05:51

标签: php json curl

我正在使用CURL向URL发送JSON请求。

这是我的代码:

$uri = "http://xxxxx:3434/config?command=xcxc";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uri);

$data = '{"Request":{"rel":{"sta":"0"}}}';

$headers= array('Authorization:Basic xxxxxx=','Content-Type: application/json'); 

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);

curl_setopt($ch, CURLOPT_POSTFIELDS,$data); 

curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
# Send request.
$result = curl_exec($ch);
curl_close($ch);

请求未通过并返回HTTP / 1.0 401未经授权的WWW-Authenticate。授权密钥是正确的,但它是否是传递密钥(通过数组)的正确方法?

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

让这个工作。

'Authorization:Basic xxxxxx=' 

导致问题并返回HTTP / 1.0 401未经授权的WWW-Authenticate(即使这是我使用REST客户端检查并正常工作的正确授权密钥)

当我使用用户名/密码组合时,它起作用了。

    curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);