gpt4 book ai didi

python 请求不适用于谷歌应用引擎

转载 作者:太空狗 更新时间:2023-10-29 22:30:37 26 4
gpt4 key购买 nike

我正在尝试通过 views.py 中的这段代码使用 python 请求获取页面:

s = requests.Session()
r = s.get("https://www.23andme.com/")

我收到错误 Exceeded 30 redirects. 我的应用程序是 Google App Engine Django 应用程序。我已经让这段代码在 python 控制台和 pythonanywhere.com 上的 django 服务器中工作,但由于某种原因它不能在谷歌应用程序引擎上工作。是什么原因造成的?谢谢

编辑:我的应用程序中的请求模块似乎还有另一个问题。我有这段代码可以将电子邮件添加到 mailchimp 列表:

m = mailchimp.Mailchimp(MAILCHIMP_API_KEY)
list_response = m.lists.list()

但如果失败并显示错误 HTTPS/SSL is required

最佳答案

尝试安装 urllib3 (和其他东西,见下文)。

看,历史上谷歌应用引擎的请求有很多问题(参见问题 #498 )。这些问题大多通过 v1.3 附带的对 GAE 的 urllib3 支持得到解决。 .它是很久以前发布的(当前版本是 1.7),所以它可能不是问题,但是当您最初安装请求时,它在名为 packages 的文件夹中包含 urllib3 > 也许它不包括它的全部。

我还尝试在源代码中搜索 requests,发现这很有趣:

# Attempt to enable urllib3's SNI support, if possible
try:
from requests.packages.urllib3.contrib import pyopenssl
pyopenssl.inject_into_urllib3()
except ImportError:
pass

更深入一点,contrib 包包含一个 pyopenssl.py 脚本,它需要:

SSL with SNI-support for Python 2.

This needs the following packages installed:

  • pyOpenSSL (tested with 0.13)
  • ndg-httpsclient (tested with 0.3.2)
  • pyasn1 (tested with 0.1.6)

总结一下:

  1. 安装 urllib3 和上面提到的其他 SSL 包,然后再次尝试运行您正在执行的请求,看看是否有任何变化。我的猜测是这将(至少)对 mailchimp 有所帮助,因为它也在提示 SSL/HTTPS 问题。

  2. 如果这不起作用,请尝试使用 urllib3 api而不是 requests 来执行相同的任务并查看它是否有效。如果是这样,问题出在 requests 正在使用的打包 urllib3 上,可能需要一些修补。

    import urllib3
    http = urllib3.PoolManager()
    r = http.request('GET', 'https://www.23andme.com/')

抱歉,这不是一个确定的解决方案,希望我的建议之一能有所帮助。向我通报最新进展,我会尽我所能提供帮助

关于python 请求不适用于谷歌应用引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21564983/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com