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 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) 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,但我已经尝试了两种方法.