2015-04-23 52 views
0

所有,我得到一些奇怪的行为试图用一个HTTPS呼叫请求到gitub API:卷曲VS请求(SSL问题?)

print(requests.get('https://api.github.com/gists/bbc56a82f359eccd4bd6').text) 

输出类似于打印二进制文件(无指出在这里粘贴乱码输出)。

等效卷曲调用("curl https://api.github.com/gists/bbc56a82f359eccd4bd6")获得了JSON响应我很期待。

这一切都固定一个点的问题(InsecurePlatformWarning),其中分别安装了几个安全相关的软件包之后开始。 python < 2.7.9的用户需要此修补程序。我在2.7.3上,因为它在一些网站上建议不要触摸python build on debian(针对依赖性问题)。

请注意,我遇到的问题是中断了功能。 github3py蟒蛇API包装等

是别人看到在升级后的要求的问题?任何修复?

回答

0

根据用户代理的不同,这个URL有明显的不同响应。我可以通过简单地添加-A moo/1来使卷曲命令行响应不同。

你也许可以得到利用,如用户代理的卷曲从这个请求卷曲样反应。

甚至更​​好:只要问问github或阅读他们的API。

0

我没有看到这里这种行为:

>>> import requests 
>>> print(requests.get('https://api.github.com/gists/bbc56a82f359eccd4bd6').text) 

返回一个JSON字符串。您可以尝试通过将请求调用的User-Agent更改为cURL

headers = { 
    'User-Agent': 'curl/7.38.0', 
} 
url = 'https://api.github.com/gists/bbc56a82f359eccd4bd6' 
response = requests.get(url, headers=headers)