繁体   English   中英

python请求的php curl翻译

[英]php curl translation of python request


我有一个用 python 编写的代码来调用 API 并下载信息。 使用这个简单的代码,它可以在 python 上完美运行:

import requests
import json
url = 'http://xxx/auth/getToken'
payload = {"X-Username":"myusername","X-Password":"mypassword"}
headers = {"X-Username":"myusername","X-Password":"mypassword"}
r = requests.post(url, data=json.dumps(payload), headers=headers)
token = r.headers['X-Auth-Token']
print(token)

这工作完美。 但是,当我将其转换为 PHP 时:

$ch = curl_init();
$url = "http://xxx/auth/getToken";
$ch_header = array('X-Username' => 'myusername', 'X-Password' => 'mypassword');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $ch_header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $ch_header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
$server_output = (curl_exec($ch));
curl_close($ch);

我收到未经授权的回复。 翻译正确吗? 我错过了任何明显的错误?

我得到它。 问题出在阵列上。

$ch_header = array('X-Username' => 'myusername', 'X-Password' => 'mypassword');

有了这个结构,它就解决了。

$ch_header = array('X-Username:myusername', 'X-Password:mypassword');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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