import httplib
import urlparse
def getUrl(url):
try:
parts = urlparse.urlsplit(url)
server = parts[1]
path = parts[2]
obj = httplib.HTTPConnection(server,80)
obj.connect()
obj.putrequest('HEAD',path)
obj.putheader('Accept','*/*')
obj.endheaders()
response = obj.getresponse()
contentType = response.getheader("content-type", "unknown")
obj.close()
if response.status !=200:
print 'Error'
else:
print 'Awesome'
except Exception, e:
print e
我寫了上面的代碼來檢查給定的URL是否有效。但不知何故,當我測試它時,對於每個無效的url,它都會引發異常。無效網址拋出異常 - python
>>> getUrl('http://www.idlebrfffain.com')
[Errno -2] Name or service not known
Python版本:
[email protected]:~$ python -V
Python 2.6.4
誰能幫我找出究竟是錯?
由於無法解析域,所以會引發異常。爲什麼這是你的代碼的問題? –
我確切的問題是我想我的代碼跳到if條件時,無法解析域。有沒有其他的方法可以完成這項工作,我的目標是驗證給定的url是否有效。 – LearnCode
'if'與捕捉異常無關。再試一次。 –