将curl get命令转换为urllib get请求

时间:2018-07-24 22:08:11

标签: python-2.7 curl httprequest urllib2

我有一个curl请求,要在python2中转换为urllib。

有效并且能给儿子回应的卷曲:

curl -i -X GET -H "X-AUTH-TOKEN: $AUTH_TOKEN" \
-H "Accept: application/json" \
"https://api.xyz.com/apiv1.2/reports/nodes?start_date=2014-04-01&end_date=2014-04-21"

我尝试了以下代码,它一直将我重定向到登录html页面作为响应。如何将上述curl请求转换为urllib?

    headers = {"Content-Type": "application/json", "AUTH_TOKEN":'1234yyzxx'}
    data = urllib.urlencode(values)
    request = urllib2.Request(ENDPOINT + '?' + data, headers=headers)
    response = urllib2.urlopen(request)
    text = response.read()
    print text

1 个答案:

答案 0 :(得分:1)

使用请求库找到了它。

import requests
import json

response = requests.get(ENDPOINT, headers=headers, params=values)
text = json.loads(response.text)

但是,我不介意所有未弃用的库(urllib,urllib2,urllib3等)中的答案。

哪个更快?