我正在尝试执行一个脚本,该脚本检查是否存在多个URL:
import httplib
with open('urls.txt') as urls:
for url in urls:
connection = httplib.HTTPConnection(url)
connection.request("GET")
response = connection.getresponse()
if response.status == 200:
print '[{}]: '.format(url), "Up!"
但我犯了个错误:
Traceback (most recent call last):
File "test.py", line 5, in <module>
connection = httplib.HTTPConnection(url)
File "/usr/lib/python2.7/httplib.py", line 693, in __init__
self._set_hostport(host, port)
File "/usr/lib/python2.7/httplib.py", line 721, in _set_hostport
raise InvalidURL("nonnumeric port: '%s'" % host[i+1:])
httplib.InvalidURL: nonnumeric port: '//globo.com/galeria/amazonas/a.html
怎么了?
httplib.HttpConnection
在其构造函数中获取远程URL的host
和port
,而不是整个URL。对于您的用例,更容易使用
urllib2.urlopen
。这可能是一个简单的解决方案,在这里
您使用的是
httpconnection
,因此不需要提供类似于http://OSMQuote.com的url,而是需要提供OSMQuote.com。简而言之,从URL中删除
http://
和https://
,因为httplib
正在考虑将:
作为端口号,并且端口号必须是数字希望这有帮助!
相关问题 更多 >
编程相关推荐