2016-04-12 2 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> 

答えて

0

を私は、次のコード使用して問題を解決しました:requests.authインポートから

をHTTPBasicAuth

のRES = requests.get( 'http://192.168.1.113:8080/api/v1/login'、auth =(usernam e、パスワード));

0

があります:あなたのAPIが有効なHTTPとして解析することができます何かを返されないことがありますように

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

サウンズ有効なHTTPステータスコードを持つ応答。 APIエンドポイントのコードが期待通りに機能していて、失敗していないことを確認したい場合があります。

response.getheader()は引数をとりますが、response.getheaders()は引数をとりません。したがって、PythonはBadStatusLineの例外を解決するとそれに不満を持ちます。

関連する問題