从文本文件中读取多个 url 并使用 pycurl 查找 RESOLVE 结果
Reading multiple urls from text file and find RESOLVE results using pycurl
我需要获取文本文件中所有 url 的结果,如下所示
www.google.com
example.com
facebook.com
文件中有超过 1000 个 URL,我需要通过文件一个一个地解析 url 以测试结果
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,'')
但如果我直接将一个 url 放在 c.URL 中,它会完美地工作。有人可以帮我解决这个问题吗?谢谢
您从 readlines
获得的行以换行符 \n
结尾,因此循环的第一次迭代会将 c.URL
设置为:
'https://www.google.com\n'
并且 pycurl 告诉你这是意外的:错误 3 是 CURLE_URL_MALFORMAT,“URL 的格式不正确”。
调用 web.strip()
将得到没有终止换行符的行(参见 here)。
我需要获取文本文件中所有 url 的结果,如下所示
www.google.com
example.com
facebook.com
文件中有超过 1000 个 URL,我需要通过文件一个一个地解析 url 以测试结果
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,'')
但如果我直接将一个 url 放在 c.URL 中,它会完美地工作。有人可以帮我解决这个问题吗?谢谢
您从 readlines
获得的行以换行符 \n
结尾,因此循环的第一次迭代会将 c.URL
设置为:
'https://www.google.com\n'
并且 pycurl 告诉你这是意外的:错误 3 是 CURLE_URL_MALFORMAT,“URL 的格式不正确”。
调用 web.strip()
将得到没有终止换行符的行(参见 here)。