【问题标题】:Reading multiple urls from text file and find RESOLVE results using pycurl从文本文件中读取多个 url 并使用 pycurl 查找 RESOLVE 结果
【发布时间】:2020-08-20 12:16:16
【问题描述】:

我需要获取文本文件中所有 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 中,它就可以完美地工作。有人可以帮我解决这个问题。谢谢

【问题讨论】:

    标签: python python-3.x url pycurl


    【解决方案1】:

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

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

    pycurl 告诉你这是出乎意料的:错误 3 是 CURLE_URL_MALFORMAT,“URL 格式不正确”。

    调用web.strip() 将得到没有终止换行符的行(参见here)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-02
      • 1970-01-01
      • 2019-05-10
      • 2014-09-17
      • 2012-02-16
      • 1970-01-01
      • 2013-09-26
      相关资源
      最近更新 更多