request.get的Python错误

request.get的Python错误,python,python-requests,Python,Python Requests,我正在尝试编写一个Python脚本,它使我能够访问一个网页并从该网页下载一个文件。我的第一次尝试是直接进入该页面,我尝试了以下代码: import requests url = 'https://www.google.com/?gws_rd=ssl' #using google as an example r = requests.get(url) print(r.url) 我犯了这样的错误: runfile('C:/Users/ME/Desktop/TMS502.py', wdir='

我正在尝试编写一个Python脚本,它使我能够访问一个网页并从该网页下载一个文件。我的第一次尝试是直接进入该页面,我尝试了以下代码:

import requests

url = 'https://www.google.com/?gws_rd=ssl' #using google as an example

r = requests.get(url)

print(r.url)
我犯了这样的错误:

runfile('C:/Users/ME/Desktop/TMS502.py', wdir='C:/Users/ME/Desktop')
Traceback (most recent call last):

  File "<ipython-input-23-bc585dcceef8>", line 1, in <module>
    runfile('C:/Users/ME/Desktop/TMS502.py', wdir='C:/Users/ME/Desktop')

  File "C:\Users\ME\AppData\Local\Continuum\Anaconda\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 585, in runfile
    execfile(filename, namespace)

  File "C:/Users/ME/Desktop/TMS502.py", line 16, in <module>
    r = requests.get(url)

  File "C:\Users\ME\AppData\Local\Continuum\Anaconda\lib\site-packages\requests\api.py", line 55, in get
    return request('get', url, **kwargs)

  File "C:\Users\ME\AppData\Local\Continuum\Anaconda\lib\site-packages\requests\api.py", line 44, in request
    return session.request(method=method, url=url, **kwargs)

  File "C:\Users\ME\AppData\Local\Continuum\Anaconda\lib\site-packages\requests\sessions.py", line 456, in request
    resp = self.send(prep, **send_kwargs)

  File "C:\Users\ME\AppData\Local\Continuum\Anaconda\lib\site-packages\requests\sessions.py", line 559, in send
    r = adapter.send(request, **kwargs)

  File "C:\Users\ME\AppData\Local\Continuum\Anaconda\lib\site-packages\requests\adapters.py", line 375, in send
    raise ConnectionError(e, request=request)

ConnectionError: HTTPSConnectionPool(host='www.google.com', port=443): Max retries exceeded with url: /?gws_rd=ssl (Caused by <class 'socket.error'>: [Errno 10054] An existing connection was forcibly closed by the remote host)
runfile('C:/Users/ME/Desktop/TMS502.py',wdir='C:/Users/ME/Desktop')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
运行文件('C:/Users/ME/Desktop/TMS502.py',wdir='C:/Users/ME/Desktop')
文件“C:\Users\ME\AppData\Local\Continuum\Anaconda\lib\site packages\spyderlib\widgets\externalshell\sitecustomize.py”,第585行,在runfile中
execfile(文件名、命名空间)
文件“C:/Users/ME/Desktop/TMS502.py”,第16行,在
r=请求。获取(url)
get中第55行的文件“C:\Users\ME\AppData\Local\Continuum\Anaconda\lib\site packages\requests\api.py”
返回请求('get',url,**kwargs)
文件“C:\Users\ME\AppData\Local\Continuum\Anaconda\lib\site packages\requests\api.py”,请求中第44行
return session.request(method=method,url=url,**kwargs)
文件“C:\Users\ME\AppData\Local\Continuum\Anaconda\lib\site packages\requests\sessions.py”,在请求中的第456行
resp=自我发送(准备,**发送)
文件“C:\Users\ME\AppData\Local\Continuum\Anaconda\lib\site packages\requests\sessions.py”,第559行,在send中
r=适配器.send(请求,**kwargs)
文件“C:\Users\ME\AppData\Local\Continuum\Anaconda\lib\site packages\requests\adapters.py”,第375行,在send中
raise ConnectionError(e,请求=请求)
ConnectionError:HTTPSConnectionPool(host='www.google.com',port=443):url:/?gws_rd=ssl超过了最大重试次数(原因:[Errno 10054]远程主机强制关闭了现有连接)

有人能帮帮我吗?

y您是否仍在处理请求:

from urllib2 import urlopen
u = urlopen("https://www.google.com/?gws_rd=ssl")
data = u.read()
u.close()

也许这样行。

y您是否仍在处理请求:

from urllib2 import urlopen
u = urlopen("https://www.google.com/?gws_rd=ssl")
data = u.read()
u.close()
也许这样行。

您的代码很好

我猜这个问题是由
url>引起的https://www.google.com/?gws_rd=ssl“

可能您的网络无法访问
www.google.com
,请尝试其他url。

您的代码正常

我猜这个问题是由
url>引起的https://www.google.com/?gws_rd=ssl“


可能您的网络无法访问
www.google.com
,请尝试另一个url。

由于远程端(在本例中为谷歌)正在关闭您的请求,或者您无法再与它建立连接,因此您会收到该错误

从错误中:

ConnectionError: HTTPSConnectionPool(host='www.google.com', port=443): 
Max retries exceeded with url: /?gws_rd=ssl 
(Caused by <class 'socket.error'>: [Errno 10054] An existing connection was forcibly closed by the remote host)
尝试另一个主机示例,您的代码应该可以工作,例如


错误消息“现有连接被远程主机强制关闭”来自您的操作系统(Windows),请求向您显示此文本以试图提供帮助。

您收到此错误是因为远程端(在本例中为Google)正在关闭您的请求,或者您无法再与它建立连接

从错误中:

ConnectionError: HTTPSConnectionPool(host='www.google.com', port=443): 
Max retries exceeded with url: /?gws_rd=ssl 
(Caused by <class 'socket.error'>: [Errno 10054] An existing connection was forcibly closed by the remote host)
尝试另一个主机示例,您的代码应该可以工作,例如


错误消息“现有连接已被远程主机强制关闭”来自您的操作系统(Windows),请求向您显示此文本以试图提供帮助。

无法复制,对我有效。对我也有效。无法复制,对我有效。对我也有效。现在我明白了:我想这是因为我公司的计算机设置,我可能需要通过某种密码验证屏幕才能工作。嗯,很有趣!如果你说的是真的,那么我现在能想到的两件事是:1。您的webbrowser是否工作,您的电脑上是否配置了HTTP代理。如果有代理,您需要将其他信息传递给urllib或请求,以便它们使用此代理。二,。也许防火墙会阻止非浏览器发出的HTTP请求。在这种情况下,您可以愚弄它http://..."); r、 添加标题(“用户代理”、“Mozilla/5.0兼容;”);u=urlopen(r);等等。也许它仍然无法工作,您必须提供一个更完整的用户代理来模拟一个现有的web浏览器。但我不喜欢这样做。感觉不合法。(别忘了urllib2的导入请求)有人因为认为ipython中可能不起作用而生气,所以我编辑了这篇文章。我发现没有其他人有什么聪明的东西可以提供。现在我明白了:我认为这是因为我的电脑在我的公司的设置,我可能需要通过某种密码验证屏幕才能工作。嗯,很有趣!如果你说的是真的,那么我现在能想到的两件事是:1。您的webbrowser是否工作,您的电脑上是否配置了HTTP代理。如果有代理,您需要将其他信息传递给urllib或请求,以便它们使用此代理。二,。也许防火墙会阻止非浏览器发出的HTTP请求。在这种情况下,您可以愚弄它http://..."); r、 添加标题(“用户代理”、“Mozilla/5.0兼容;”);u=urlopen(r);等等。也许它仍然无法工作,您必须提供一个更完整的用户代理来模拟一个现有的web浏览器。但我不喜欢这样做。感觉不合法。(别忘了urllib2的导入请求)有人因为认为ipython中可能不起作用而生气,所以我编辑了这篇文章。我看没有其他人能提供任何聪明的东西。