我已经编写了一个服务器应用程序来监视中断的下载。现在我想用python创建一个测试用例。到目前为止,我已经知道如何下载整个页面。但是,我如何告诉程序在完成之前或在下载了特定数量的字节之后停止下载呢?这是我完整下载的代码…
opener = urllib2.build_opener()
response = opener.open(TARGET_URL)
data = response.read() // how to interrupt before completion?
最佳答案
使用小于内容大小的数值参数调用read()
,然后断开连接:
>>> import urllib2
>>> opener = urllib2.build_opener()
>>> response = opener.open('http://downloads.raspberrypi.org/NOOBS_latest')
>>> response.read(4)
'PK\x03\x04'
>>> response.close()
这并不能保证它会从服务器读取4个字节,但是如果它的内容足够大(对于“足够大”的某些定义),它不会获取整个url。
关于python - 中断urllib.read,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21712584/