所以我想检查一个URL是否可以从python访问,我从google得到了以下代码:
def checkUrl(url):
p = urlparse(url)
conn = http.client.HTTPConnection(p.netloc)
conn.request('HEAD', p.path)
resp = conn.getresponse()
return resp.status < 400
这是我的网址:https://eurotableau.nomisonline.com。 如果我把它传递给函数,效果就很好了。这个责任状态是302。但是,如果在端口443的末尾添加端口https://eurotableau.nomisonline.com:443,它将返回false。这个责任状态是400。我在googlechrome中尝试了这两个URL,它们都有效。所以我的问题是为什么会这样?不管怎样,我可以包括端口值,仍然得到有效的责任状态值(<;400)?谢谢。你知道吗
如果您不需要HEAD方法,只是希望检查主机是否可用,那么为什么不这样做:
这将建立与服务器的连接,但它不会下载任何数据,除非您阅读它。它只读取很少的KB来获取头文件(就像使用HEAD方法时一样),然后等待您请求更多。但你要把它关上。你知道吗
因此,您可以捕获异常并查看问题所在,或者如果没有异常,只需关闭连接。你知道吗
urllib2将处理HTTPS和协议://user@URL:您的端口。 什么都不用担心。你知道吗
改用
http.client.HTTPSConnection
。普通的旧HTTPConnection
忽略作为URL一部分的协议。你知道吗相关问题 更多 >
编程相关推荐