2016-04-12 3 views
0
import sys 
import pdb 
import http.client 


def PassParse(): 


    headers = {"Accept":" application/json, text/plain, */*", 
    "Authorization":" Basic YWRtaW46YXNkZg==", 
    "Referer":" http://192.168.1.113:8080/#/apps", 
    "Accept-Language":" zh-CN", 
     "Accept-Encoding":" gzip, deflate", 
    "User-Agent":" Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko LBBROWSER", 
    "Host":" 192.168.1.113:8080", 
    "DNT":" 1", 
    "Connection":" Keep-Alive"};  
    conn = http.client.HTTPConnection("192.168.1.113:8080");  

    conn.request(method="Get",url="/api/v1/login",body=None,headers=headers);  

    response = conn.getresponse(); 
    responseText = response.getheaders("content-lentgh"); 
    print ("succ!^_^!"); 
    #print (response.status); 
    print (responseText); 
    conn.close(); 


run error: 
Traceback (most recent call last): 
    File "F:\Python\test1-3.4.py", line 32, in <module> 
    PassParse(); 
    File "F:\Python\test1-3.4.py", line 24, in PassParse 
    response = conn.getresponse(); 
    File "E:\program files\Python 3.4.3\lib\http\client.py", line 1171, in getresponse 
    response.begin() 
    File "E:\program files\Python 3.4.3\lib\http\client.py", line 351, in begin 
    version, status, reason = self._read_status() 
    File "E:\program files\Python 3.4.3\lib\http\client.py", line 333, in _read_status 
    raise BadStatusLine(line) 
http.client.BadStatusLine: <html> 

Antwort

0

Aus den Python-Dokumentation für httplib:

exception httplib.BadStatusLine 
A subclass of HTTPException. Raised if a server responds with a HTTP status code that we don’t understand. 

Klingt API nicht etwas sein könnte zurückkehren, die als gültige HTTP analysiert werden kann Antwort mit einem gültigen HTTP-Statuscode. Möglicherweise möchten Sie überprüfen, dass der Code für Ihren API-Endpunkt wie erwartet funktioniert und nicht fehlschlägt.

Abgesehen davon, Ihr Code läuft gut bis auf eine Sache: response.getheader() ein Argument nimmt, während response.getheaders() kein Argument, so Python mit darüber beschweren, wenn Sie die BadStatusLine Ausnahme lösen.

Verwandte Themen