- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
这是脚本:
import requests
import json
import urlparse
from requests.adapters import HTTPAdapter
s = requests.Session()
s.mount('http://', HTTPAdapter(max_retries=1))
with open('proxies.txt') as proxies:
for line in proxies:
proxy=json.loads(line)
with open('urls.txt') as urls:
for line in urls:
url=line.rstrip()
data=requests.get(url, proxies=proxy)
data1=data.content
print data1
print {'http': line}
如您所见,它试图通过代理列表访问 url 列表。这是 urls.txt 文件:
http://api.exip.org/?call=ip
这里是 proxies.txt 文件:
{"http":"http://107.17.92.18:8080"}
我在 www.hidemyass.com 获得了这个代理。它可能是一个糟糕的代理吗?我已经尝试了几次,这就是结果。注意:如果您尝试复制此内容,您可能需要在 hidemyass.com 上将代理更新为最近的代理。他们似乎最终停止工作。这是完整的错误和回溯:
Traceback (most recent call last):
File "test.py", line 17, in <module>
data=requests.get(url, proxies=proxy)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 55, in get
return request('get', url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 335, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 454, in send
history = [resp for resp in gen] if allow_redirects else []
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 144, in resolve_redirects
allow_redirects=False,
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 438, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 327, in send
raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPConnectionPool(host=u'219.231.143.96', port=18186): Max retries exceeded with url: http://www.google.com/ (Caused by <class 'httplib.BadStatusLine'>: '')
最佳答案
查看您提供的堆栈跟踪,您的错误是由 httplib.BadStatusLine
异常引起的,根据 docs , 是:
Raised if a server responds with a HTTP status code that we don’t understand.
换句话说,代理服务器返回的东西(如果返回的话)不能被执行实际请求的 httplib 解析。
根据我在(编写)http 代理方面的经验,我可以说某些实现可能不会太严格地遵循规范(http 上的 rfc 规范实际上并不容易阅读),或者使用 hack 来修复在其实现中存在缺陷的旧浏览器。
所以,回答这个问题:
Could it be a bad proxy?
...我会说 - 这是可能的。唯一确定的方法是查看代理服务器返回的内容。
尝试使用调试器或抓包嗅探器(例如 Wireshark 或 Network Monitor )对其进行调试,以分析网络中发生的情况。了解代理服务器返回的确切信息应该可以为您提供解决此问题的关键。
关于Python:requests.exceptions.ConnectionError。 url 超出了最大重试次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18478013/
我正在使用 elasticsearch.helpers.scan 函数在 python 中检索文档。它在本地运行良好,但是在 docker 上运行时出现以下 ConnectionError: Trac
我正在尝试从 python 脚本查询 elasticsearch,但出现异常。 我遵循了官方指南,例如 this one .但是当我试图查询 elasticsearch 时,没有成功。这里是异常(ex
我在使用 sqlserver 2012 的 npm mssql 3.0.0 中遇到错误 我正在创建单页应用程序,其中我使用express使用restful。有 4 种方法执行查询并返回数据以进行响应。
用这个最少的代码: import elasticsearch es = elasticsearch.Elasticsearch([{u'host': u'127.0.0.1', u'port': u'
我正在运行一个基于 Bottle 框架的网络服务器。该框架公开了一个端点,您可以在其中上传文件。有时,如果磁盘已满,网络服务器应该在不读取文件的情况下返回代码 429。出于某种原因,当我上传文件时,如
我这样做: import requests r = requests.get("http://non-existent-domain.test") 得到 ConnectionError: HTTPCo
我刚开始使用ElasticSearch,并从here.免费试用了14天 得到了一个username,password和id,现在我正在传递我的Elasticsearch主机url,username和p
我正在使用 requests 从服务器获取一些数据,这是在 while 循环中完成的。然而,时不时地会出现以下两个错误之一。第一个是请求返回的status_code不等于200,这会打印出一条错误消息
我有一个使用 ebaysdk 库的 python 代码,当我运行代码并输入关键字进行搜索时,我得到了这个错误。 Traceback (most recent call last): File "eba
在我的新 Django 项目中,我设置了一个 MongoDB 数据库并使用 mongoengine 模块但我无法在 shell 和 View 中正确访问数据库。 "ConnectionError: Y
我有一个像这样的 python 脚本: #!/usr/bin/python import sys import requests if len(sys.argv) ' % (sys.argv[0])
目前我遇到以下代码的NameError 问题: try: # some network programming raising an exception except ConnectionEr
我正在使用 PushSharp 4.0.10,MVC 4 和 c# 在 Apns 代理的 OnNotificationFailed 事件中,我得到 ConnectionError 异常。 更改证书(.
它说的是什么意思: requests.exceptions.ConnectionError: None: Max retries exceeded with url: /myurl (Caused b
看起来我的 mysql2 gem 连接到数据库有困难。我可以使用其他 mysql 客户端工具轻松连接到 mysql 数据库。我检查了用于 RSpec 的数据库连接字符串,它是正确的。运行 a_spec
当我的程序无法连接到本地服务时,我想引发 ConnectionError ( a python 3 subclass )。我正在使用 python2.7。虽然对此进行了测试,但看起来我必须导入一个模块
我在 heroku 上设置了 Redis,它工作正常,但有时我在 NEW RELIC 中遇到错误。 Redis::ConnectionError > Connection reset by peer
这是脚本: import requests import json import urlparse from requests.adapters import HTTPAdapter s = requ
我有一个获取新的 twilio 语音客户端的简单方法... export const createTwilioDevice = (_token) => new Twilio.Device(
我在 Ubuntu (14.04 LTS) 上使用 capybara webkit,尝试使用它时出现以下错误: Capybara::Webkit::ConnectionError: /srv/www/
我是一名优秀的程序员,十分优秀!