python - httplib.InvalidURL : nonnumeric port:

标签 python file

我正在尝试编写一个脚本来检查是否存在许多 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

怎么了?

最佳答案

这可能是一个简单的解决方案,在这里

connection = httplib.HTTPConnection(url)

您正在使用 httpconnection,因此无需提供 url,例如 http://OSMQuote.com但是您需要提供 OSMQuote.com 而不是.

简而言之,从您的 URL 中删除 http://https://,因为 httplib 正在考虑 : 作为端口号,端口号必须是数字,

希望这对您有所帮助!

关于python - httplib.InvalidURL : nonnumeric port:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14491814/

相关文章:

python - 什么是基于 python 的好 Webshop 软件?

java - Java 使用 netbeans 读取输入文件时遇到问题

android - 下载的文件在 Android 4.4.2 中丢失

python - django 如何与 virtualenv 一起工作?

python - 如何在fstrings中使用.loc?

java - 当我使用 AES 加密或解密文件时,文件末尾有奇怪的字符,这可能是缓冲区问题还是 AES 问题?

file - 如何使 rsync 保留未更改文件的时间戳

c++ - 从文本文件中读取 float 一直有效,直到超出 ifstream 范围 c++

python - 输出正确的 CGI、Python 脚本时遇到问题?

当我从 Windows cmd 运行 python **.py 时,python.exe 崩溃了