我正在尝试使用python请求获取一个页面,代码在views.py
:
s = requests.Session()
r = s.get("https://www.23andme.com/")
我得到错误Exceeded 30 redirects.
我的应用程序是一个谷歌应用程序引擎Django应用程序。我已经让这些代码在python控制台和django服务器上工作pythonanwhere.com但由于某些原因,它不能在谷歌应用引擎上运行。是什么引起的?谢谢
编辑:我的应用程序中的请求模块似乎有另一个问题。我有一个代码可以在mailchimp列表中添加电子邮件:
^{pr2}$但是如果失败并出现错误HTTPS/SSL is required
根据this讨论,问题出在googleappengine上的netrc。我可以通过使用旧版本的请求来解决这个问题(在我的例子中是1.2.3,但是其他版本也可以)
编辑:根据this的答案,请求2.1.0也应该起作用。在
尝试安装urllib3(以及其他内容,请参见下文)。在
从历史上看,googleappengine的请求有很多问题(参见问题#498)。这些问题主要是通过v1.3附带的对GAE的urllib3支持来解决的。它很早以前就出现了(当前的版本是1.7),所以它可能不是问题所在,但是当您最初安装请求时,它将
urllib3
包含在名为packages
的文件夹中,并且可能不包括它的全部。在我还尝试在源代码中搜索
requests
,发现这很有趣:更深入地说,
contrib
包包含一个pyopenssl.py
脚本,它需要:所以,总结一下:
安装
urllib3
和上面提到的其他SSL包,然后再次尝试运行您正在执行的请求,看看是否有任何更改。我的猜测是这将(至少)帮助解决mailchimp
,因为它也在抱怨SSL/HTTPS问题。如果这不起作用,试着用
urllib3
api代替requests
来完成同样的任务,看看是否有效。如果是这样的话,问题是requests
正在使用的打包的urllib3
,这可能需要一些修补。在抱歉,这不是一个明确的解决办法,希望我的一个建议会有帮助。告诉我最新进展,我会尽力帮助你
相关问题 更多 >
编程相关推荐