从文本文件中读取多个网址,并使用pycurl查找解决结果

问题描述

我需要获取文本文件中存在的所有url的结果,如下所示

www.google.com
example.com
facebook.com

文件中包含超过1000个网址,我需要通过文件逐个解析网址以测试结果

buf = BytesIO()
with open(data.txt) as fi:
    files = fi.readlines()
    for web in files:
    
        c = pycurl.Curl()
        c.setopt(c.URL,'https://'+ web )
        c.setopt(c.SSL_VERIFYPEER,0)
        c.setopt(c.SSL_VERIFYHOST,0)
        c.setopt(c.TIMEOUT,3)
        c.setopt(c.WRITEDATA,buf)
        c.setopt(c.RESOLVE,[ web + ':443:203.210.7.46'])
        c.perform()

它给出一个 Traceback c.perform()pycurl.error:(3,'')

但是,如果我直接将一个网址直接放在 c.URL 中,则效果很好。有人可以帮我吗谢谢

解决方法

readlines获得的行以换行符\n结尾,因此循环的第一次迭代会将c.URL设置为:

'https://www.google.com\n'

pycurl告诉您这是意外的情况:错误3为CURLE_URL_MALFORMAT,“ URL格式不正确”。

呼叫web.strip()将使您的行没有换行符终止(请参见here)。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...