首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导致VerifiedHTTPSConnection对象没有属性“_tunnel_host”的GET请求

导致VerifiedHTTPSConnection对象没有属性“_tunnel_host”的GET请求
EN

Stack Overflow用户
提问于 2018-10-22 12:53:15
回答 2查看 2.3K关注 0票数 4

我使用python请求库向GAE上托管的API发出HTTP请求。请求版本是requests==2.20.0,并使用虚拟环境通过pip安装。

据报道,这个问题是由过时的python版本引起的,我正在运行python 2的最新版本(2.7.15)。

下面是代码片段:

代码语言:javascript
复制
endpoint_url = API_URL + "some/endpoint/%s" % some_variable
response = requests.get(url=endpoint_url)
return response.text

这里是堆积如山:

代码语言:javascript
复制
Traceback (most recent call last):
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/lib/flask/app.py", line 2292, in 
wsgi_app
response = self.full_dispatch_request()
File "/Users/rhys/Desktop/Projects/git-r 
repositories/MitigatingCircumstancesTracker/lib/flask/app.py", line 1815, in 
full_dispatch_request
rv = self.handle_user_exception(e)
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/lib/flask/app.py", line 1718, in 
handle_user_exception
reraise(exc_type, exc_value, tb)
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/lib/flask/app.py", line 1813, in 
full_dispatch_request
rv = self.dispatch_request()
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/lib/flask/app.py", line 1799, in 
dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/main.py", line 83, in login
response = requests.get(url=endpoint_url)
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/lib/requests/api.py", line 75, in 
get
return request('get', url, params=params, **kwargs)
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/lib/requests/api.py", line 60, in 
request
return session.request(method=method, url=url, **kwargs)
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/lib/requests/sessions.py", line 
524, in request
resp = self.send(prep, **send_kwargs)
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/lib/requests/sessions.py", line 
637, in send
r = adapter.send(request, **kwargs)
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/lib/requests/adapters.py", line 
449, in send
timeout=timeout
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/lib/urllib3/connectionpool.py", 
line 600, in urlopen
chunked=chunked)
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/lib/urllib3/connectionpool.py", 
line 343, in _make_request
self._validate_conn(conn)
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/lib/urllib3/connectionpool.py", 
line 839, in _validate_conn
conn.connect()
File "/Users/rhys/Desktop/Projects/git- 
repositories/MitigatingCircumstancesTracker/lib/urllib3/connection.py", line 
304, in connect
if self._tunnel_host:
AttributeError: 'VerifiedHTTPSConnection' object has no attribute 
'_tunnel_host'

来自'python --version' 2.7.15的Python版本

requirements.txt:

代码语言:javascript
复制
bcrypt==3.1.4
certifi==2018.10.15
cffi==1.11.5
chardet==3.0.4
Click==7.0
Flask==1.0.2
idna==2.7
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
pycparser==2.19
requests==2.20.0
six==1.11.0
urllib3==1.24
Werkzeug==0.14.1
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-26 18:13:03

我也有同样的问题。在我的例子中,这显然与Google无法在本地开发环境(使用SDK)中处理请求有关。需要AppEngineAdapter requests_toolbelt。之后为我工作过。

票数 15
EN

Stack Overflow用户

发布于 2019-01-06 01:02:52

为了修复与Google一起工作的请求,但也允许我的应用程序在GAE之外运行,我添加了以下代码:

代码语言:javascript
复制
try:
    from google.appengine.api import urlfetch
    from requests_toolbelt.adapters import appengine
    appengine.monkeypatch()
except ImportError:
    pass
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52929871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档