- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Python 中使用请求,但总是遇到 BadStatusLine 错误。
我的代码如下:
import requests
ip = 'xx.xx.xx.xx'
port = 80
proxies={
'http': 'http://%s:%s'%(ip, port),
'https': 'https://%s:%s'%(ip, port)
}
url = 'https://url'
d = {'active_id': 117}
r=requests.post(url, data=d, proxies=proxies)
File "/root/untitled-5.py", line 13, in <module>
r=requests.post(url, data=d,proxies=proxies, headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36'},verify=False)
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 110, in post
return request('post', url, data=data, json=json, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 473, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",))
1 r=requests.post(url, data=d, proxies=proxies, varify=False)
2 r=requests.post(url, data=d, proxies=proxies, headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36'})
最佳答案
当您的 Python 客户端收到空响应( header /正文)时,您会收到此错误。
顺便说一句,较新的 Python 版本会抛出不同的异常,
当服务器断开连接或网络问题时可能会发生这种情况。
就我而言,我们花了几个星期试图重现它,直到找到主要原因,
我们有一个 Python 应用程序向 Nginx 负载均衡器后面的服务发送请求,
我们发现当客户端超过默认的 Nginx 配置 client_header_timeout/client_body_timeout (60 sec) 时,Nginx 会断开连接,这是 Nginx 将等待来自客户端的额外数据包的时间。
您可以关注此引用 http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_timeout
当我们的应用程序加载 CPU 处理时,连接已建立,但 header 和请求正文在传输之前有很长的延迟,超过 82 秒。
所以 Nginx 关闭连接并返回重置数据包(记录的 tcpdump 与空主体和 header ),正式它应该返回状态代码 408,这不会发生。
我们通过将两个参数的 client_header_timeout/client_body_timeout 增加到 180 秒来解决它:
server {
..
client_body_timeout 180s;
client_header_timeout 180s;
}
关于python - 使用 Python 时的 BadStatusLine 错误,请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47196100/
我在 python 中使用 selenium 抓取一个网站,当我在 Windows 上运行相同的脚本时我得到了想要的结果,但是在 ubuntu 16.04 中当我运行相同的脚本时它抛出错误: File
我正在使用 suds 0.3.6。创建 suds 客户端时,随机出现错误: httplib.py,_read_status(),第 355 行,类 httplib.BadStatusLine' 这是用
我遇到了一个奇怪的错误,我似乎找不到解决方案。 这个错误不会在我每次点击这段代码时发生,也不会在循环中的同一次迭代中发生(它发生在一个循环中)。如果我运行够了,它似乎没有遇到错误,程序执行成功。无论如
一如既往,我经常遇到问题,我已经彻底搜索了当前问题的答案,但发现自己一头雾水。以下是我搜索过的一些地方:- How to fix httplib.BadStatusLine exception?- P
我将 PhantomJS 与 Selenium 结合使用,我想在 stackoverflow 上进行多次搜索。这段代码在我的本地电脑上运行良好,当我将它更改为内存较少的服务器时,它会引发 httpli
通过 python-requests 进行身份验证的代理返回以下错误: >>> import requests >>> proxies = {'https': 'http://username:pas
我正在尝试使用 Selenium 和 BeautifulSoup 抓取 Google Chrome 扩展商店的评论。但是,即使使用最新版本的 Chromedriver,我似乎也无法启动和运行 Sele
我这里有一个程序可以传输市场价格并根据价格执行订单,但是,每隔一段时间(几个小时左右)它就会抛出这个错误: Exception in thread Thread-1: Traceback (most
我正在尝试连接到groovyshark。因为 python 是我选择的语言。但我已经碰壁了。看来groveshark最近改变了他们的协议(protocol)的一部分,或者我可能遇到了python的限制
URL = "MY HTTP REQUEST URL" XML = "0" parameter = urllib.urlencode({'XML': XML}) response = urllib.u
我使用以下代码从网络获取图像: path = 'http://domgvozdem.ru/images/ustanovka-kondicionera-svoimi-rukami.jpg' def ex
我一生都无法弄清楚为什么我不能捕获这个异常。 查看此处this guide . def get_team_names(get_team_id_url, team_id): print(get_
我正在尝试使用 python-rest-client ( http://code.google.com/p/python-rest-client/wiki/Using_Connection ) 来执行
我一直在使用 Python 中的 requests 库查询 Web 服务器上的数据。我收到以下错误: ConnectionError: ('Connection aborted.', BadStatu
在 python 中,如果我导入请求并执行: t = requests.get("http://www.azlyrics.com/u/urban.html") 我得到这个异常: raise BadSt
我有一个简单的互联网检查器正在运行,但它偶尔会返回一个我似乎无法处理的错误... 函数如下: def internet_on(): try: urllib2.urlopen("
在我的 python 项目中,我使用 Splinter ( https://splinter.readthedocs.io/en/latest/ ) 打开浏览器并尝试访问网站: from splint
这个错误已经困扰我几个小时了。我决定编写一个单独的项目,看看我是否可以复制它,我可以,但只能在我的服务器上。这适用于我的 Mac。 Mac:OSX El Capitan 10.11.6 服务器:Cen
我在 Python 中使用请求,但总是遇到 BadStatusLine 错误。 我的代码如下: import requests ip = 'xx.xx.xx.xx' port = 80 proxies
尝试从 URL 获取数据,但请求遇到问题。我认为它与页面或数据的格式(没有)有关? 我使用的是Python 3.6.5,请求2.20.0 import requests r = requests.ge
我是一名优秀的程序员,十分优秀!