use*_*486 8 python curl python-2.7 python-requests
我在下面的curl中有这个HTTPS调用;
header1="projectName: zhikovapp"
header2="Authorization: Bearer HZCdsf="
bl_url="https://BlazerNpymh.com/api/documents?pdfDate=$today"
curl -s -k -H "$header1" -H "$header2" "$bl_url"
Run Code Online (Sandbox Code Playgroud)
我想使用requests模块编写一个等效的python调用.
header ={
"projectName": "zhikovapp",
"Authorization": "Bearer HZCdsf="
}
response = requests.get(bl_url, headers = header)
Run Code Online (Sandbox Code Playgroud)
但是,该请求无效.怎么了?
返回的响应的内容是这样的;
<Response [400]>
_content = '{"Message":"The request is invalid."}'
headers = {'Content-Length': '37', 'Access-Control-Allow-Headers': 'projectname, authorization, Content-Type', 'Expires': '-1', 'cacheControlHeader': 'max-age=604800', 'Connection': 'keep-alive', 'Pragma': 'no-cache', 'Cache-Control': 'no-cache', 'Date': 'Sat, 15 Oct 2016 02:41:13 GMT', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS', 'Content-Type': 'application/json; charset=utf-8'}
reason = 'Bad Request'
Run Code Online (Sandbox Code Playgroud)
我正在使用python 2.7
编辑:在Soviut指出它们之后,我纠正了一些syntex错误.
Sov*_*iut 15
在request.get()该headers参数应该被定义为一个字典,一组键/值对.您已经定义了一个字符串集(唯一列表).
你应该像这样声明你的标题:
headers = {
"projectName": "zhikovapp",
"Authorization": "Bearer HZCdsf="
}
response = requests.get(bl_url, headers=headers)
Run Code Online (Sandbox Code Playgroud)
请注意"key": "value"字典中每行的格式.
编辑:你Access-Control-Allow-Headers说他们会接受projectname并且authorization是小写的.你叫你的头projectName,并Authorization在他们大写字母.如果他们不匹配,他们将被拒绝.
| 归档时间: |
|
| 查看次数: |
13160 次 |
| 最近记录: |