Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 导致VerifiedHTTPSConnection对象的GET请求没有属性'_隧道主机&x27;_Python_Python 2.7_Google App Engine_Python Requests - Fatal编程技术网

Python 导致VerifiedHTTPSConnection对象的GET请求没有属性'_隧道主机&x27;

Python 导致VerifiedHTTPSConnection对象的GET请求没有属性'_隧道主机&x27;,python,python-2.7,google-app-engine,python-requests,Python,Python 2.7,Google App Engine,Python Requests,我正在使用python请求库向GAE上托管的API发出HTTP GET请求。Requests版本为Requests==2.20.0,使用虚拟环境通过pip安装 据报道,该问题是由过时的python版本引起的,我正在运行最新版本的python 2(2.7.15) 以下是截取的代码: endpoint_url = API_URL + "some/endpoint/%s" % some_variable response = requests.get(url=endpoint_url) return

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

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

以下是截取的代码:

endpoint_url = API_URL + "some/endpoint/%s" % some_variable
response = requests.get(url=endpoint_url)
return response.text
这是stackstace:

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版本来自“Python--version”2.7.15

requirements.txt:

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

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

为了修复使用Google App Engine的请求,同时允许我的应用程序在GAE之外运行,我添加了以下代码:

try:
    from google.appengine.api import urlfetch
    from requests_toolbelt.adapters import appengine
    appengine.monkeypatch()
except ImportError:
    pass

能否添加
python--version
pip-freeze
的输出?$python--version=python 2.7.15&&$pip-freeze=virtualenv==16.0.0您安装的唯一依赖项是virtualenv?不,我安装了许多其他依赖项,请参阅上面my requirements.txt的内容。即使这些依赖项在您的
requirements.txt
中,也不意味着它们在您的虚拟环境中可用。你需要
pip install-r requirements.txt
来安装它们。这非常有效。当我初始化我的应用程序时,我只需将
请求\u toolbelt
添加到我的requirements.txt文件中,并从requirements\u toolbelt.adapters导入appengine
appengine.monkeypatch()
。@ThibaultLeConte这确实解决了问题,我确实想知道是不是GAE的本地环境造成了问题。这是我遗漏的某个地方记录的问题吗?不管怎样,谢谢你,因为我已经开始使用标准的urllib库,所以节省了很多额外的工作!对于appengine/python2.7:
来自请求\u toolbelt.adapters导入appengine appengine.monkeypatch()