相关疑难解决方法(0)

为什么我在python中收到此错误?(httplib的)

if theurl.startswith("http://"): theurl = theurl[7:]
    head = theurl[:theurl.find('/')]
    tail = theurl[theurl.find('/'):]
response_code = 0
import httplib
conn = httplib.HTTPConnection(head)
conn.request("HEAD",tail)
res = conn.getresponse()
response_code = int(res.status)

http://www.garageband.com/mp3cat/.UZCKbS6N4qk/01_Saraenglish.mp3
Traceback (most recent call last):
  File "check_data_404.py", line 51, in <module>
    run()
  File "check_data_404.py", line 35, in run
    res = conn.getresponse()
  File "/usr/lib/python2.6/httplib.py", line 950, in getresponse
    response.begin()
  File "/usr/lib/python2.6/httplib.py", line 390, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python2.6/httplib.py", line 354, in _read_status
    raise BadStatusLine(line)
httplib.BadStatusLine
Run Code Online (Sandbox Code Playgroud)

有谁知道"坏状态线"是什么?

编辑:我试过很多服务器,很多网址和我仍然会收到此错误?

python http

26
推荐指数
5
解决办法
6万
查看次数

Python requests.exception.ConnectionError:连接中止"BadStatusLine"

我正在尝试使用Python请求模块发出Http GET命令来访问一些基于REST的API.网址在RESTClient上工作正常但是当我在python中使用相同的url时,我收到连接错误.

我试图执行的代码是:

payload={"mac":new_mac,"token":token}
userloginurl="http://192.168.1.40:9119/uid"
r=requests.get(userloginurl,params=payload)
print(r.url)
Run Code Online (Sandbox Code Playgroud)

如果我使用RESTClient测试这个url,我会在响应头中获得200 OK状态代码以及更多字段. 在此输入图像描述 但这不适用于python请求.错误的回溯如下所示:

Traceback (most recent call last):
File "getAPids.py", line 34, in <module>
r=requests.get(userloginurl,params=payload)
  File "C:\Users\garvitab\python\lib\site-packages\requests\api.py", line 65, in
 get
return request('get', url, **kwargs)
File "C:\Users\garvitab\python\lib\site-packages\requests\api.py", line 49, in
request
response = session.request(method=method, url=url, **kwargs)
File "C:\Users\garvitab\python\lib\site-packages\requests\sessions.py", line 4
61, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\garvitab\python\lib\site-packages\requests\sessions.py", line 5
73, in send
r = adapter.send(request, **kwargs)
 File "C:\Users\garvitab\python\lib\site-packages\requests\adapters.py", line 4
15, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",
)) …
Run Code Online (Sandbox Code Playgroud)

python http http-headers

26
推荐指数
1
解决办法
6万
查看次数

Python请求获取('连接中止.',BadStatusLine("''",))错误

def download_torrent(url):
    fname = os.getcwd() + '/' + url.split('title=')[-1] + '.torrent'
    try:
        schema = ('http:')
        r = requests.get(schema + url, stream=True)
        with open(fname, 'wb') as f:
            for chunk in r.iter_content(chunk_size=1024):
                if chunk:
                    f.write(chunk)
                    f.flush()
    except requests.exceptions.RequestException as e:
        print('\n' + OutColors.LR + str(e))
        sys.exit(1)

    return fname
Run Code Online (Sandbox Code Playgroud)

在那段代码中,当我运行完整的脚本时,我收到一个错误.当我去实际下载洪流时,我得到:

('Connection aborted.', BadStatusLine("''",))
Run Code Online (Sandbox Code Playgroud)

我只发布了我认为与上述相关的代码块.整个脚本如下.这是来自pantuts,但我认为它不再维持,我试图让它运行python3.根据我的研究,错误可能意味着我使用的是http而不是https,但我已经尝试了两种方法.

原始剧本

python python-3.x python-requests

25
推荐指数
1
解决办法
4万
查看次数

标签 统计

python ×3

http ×2

http-headers ×1

python-3.x ×1

python-requests ×1