我想用python编写一个下载程序,并且我使用PycURL作为我的库,但是遇到了问题。
我无法获取要下载的文件大小。这是我的代码的一部分:
import pycurl
url = 'http://www.google.com'
c = pycurl.Curl()
c.setopt(c.URL, url)
print c.getinfo(c.CONTENT_LENGTH_DOWNLOAD)
c.perform()
当我在python shell中测试此代码时,可以,但是当我将其编写为函数并运行时,它的大小为-1。
问题是什么?
(代码已被编辑)
最佳答案
从Curl对象的pycurl
文档中:
除非已调用perform,否则不应调用getinfo方法。
并完成。
您在呼叫getinfo
之前先呼叫perform
。
这是您的示例的简化版本,这行得通吗?
import pycurl
url = 'http://www.google.com'
c = pycurl.Curl()
c.setopt(c.URL, url)
c.perform()
print c.getinfo(c.CONTENT_LENGTH_DOWNLOAD)
您应该看到HTML内容,然后是大小。
关于python - 用pycurl获取文件大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12514768/