2016-12-06 6 views
0

以下のコードを含むウェブサイトのURLステータスを取得したいとします。 1つのウェブサイト(webscraper.io)では、エラーが発生しました。私のスクリプトは次のとおりです。socket.gaierrorのhttplibエラー:

Traceback (most recent call last): 
File "TestSatusline.py", line 23, in <module> 
    conn.request("GET",'') 
File "/usr/lib/python2.7/httplib.py", line 1017, in request 
    self._send_request(method, url, body, headers) 
File "/usr/lib/python2.7/httplib.py", line 1051, in _send_request 
    self.endheaders(body) 
File "/usr/lib/python2.7/httplib.py", line 1013, in endheaders 
    self._send_output(message_body) 
File "/usr/lib/python2.7/httplib.py", line 864, in _send_output 
    self.send(msg) 
File "/usr/lib/python2.7/httplib.py", line 826, in send 
    self.connect() 
File "/usr/lib/python2.7/httplib.py", line 807, in connect 
    self.timeout, self.source_address) 
File "/usr/lib/python2.7/socket.py", line 553, in create_connection 
    for res in getaddrinfo(host, port, 0, SOCK_STREAM): 
socket.gaierror: [Errno -2] Name or service not known 

い誰もが任意のアイデアを持っています

import httplib 
url = "http://webscraper.io/" 
if 'http' in url: 
    url = url.replace('http://', '').strip() 
conn = httplib.HTTPConnection(url) 
conn.request("GET",'') 
r1 = conn.getresponse() 
print 'r1.Status code=', r1.status 

が、私は次のエラーを得ましたか。あなたのコード内

if 'http' in url: 
    url = url.replace('http://', '').strip() 

は、URLがwebscraper.io/ある

おかげ

答えて

0

た後、それがあるべきwebscraper.io

使用urlparse

import httplib 
import urlparse 

url = "http://webscraper.io/" 
o = urlparse.urlparse(url) 
conn = httplib.HTTPConnection(o.netloc) 
conn.request("GET",'') 
r1 = conn.getresponse() 
print 'r1.Status code=', r1.status 

出力

r1.Status code= 200 

あなたはリクエストを見ることができます。 http://docs.python-requests.org/en/master/

関連する問題