python - 使用 Python 请求下载 zip 扩展时获取损坏的 zip 文件
问题描述
我想用python脚本在[链接不再存在]下载一个测试文件。
如果你自己去链接,下载将自动开始。
虽然,如果我尝试运行这个脚本,我会得到一个损坏的folder.zip
文件,它是一个 html 文件:
import os
import requests
URL = "http://kolterdev.epizy.com/dir/VoidShipsUploads/folder.zip"
DIR = os.getcwd()
download = requests.get(URL)
print(download.content)
open(filename, 'wb').write(download.content)
这是我找到的 html 文件,而不是 zip 文件:
<html>
<body>
<script type="text/javascript" src="/aes.js"></script>
<script>
function toNumbers(d) {
var e = [];
d.replace(/(..)/g, function(d) {
e.push(parseInt(d, 16))
});
return e
}
function toHex() {
for (var d = [], d = 1 == arguments.length && arguments[0].constructor == Array ? arguments[0] : arguments, e = "", f = 0; f < d.length; f++) e += (16 > d[f] ? "0" : "") + d[f].toString(16);
return e.toLowerCase()
}
var a = toNumbers("f655ba9d09a112d4968c63579db590b4"),
b = toNumbers("98344c2eee86c3994890592585b49f80"),
c = toNumbers("7a2b1adb5e9b4162d6571ff0b6145a53");
document.cookie = "__test=" + toHex(slowAES.decrypt(c, 2, a, b)) + "; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/";
location.href = "http://kolterdev.epizy.com/dir/VoidShipsUploads/folder.zip?i=1";
</script><noscript>This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support</noscript>
</body>
</html>
我该怎么做才能获取文件?
编辑:具有该 url 的页面不再存在。
解决方案
import urllib.request
...
url = 'http://example.com/'
response = urllib.request.urlopen(url)
data = response.read() # a `bytes` object
text = data.decode('utf-8') # a `str`; this step can't be used if data is binary
另外,请看一下这个答案 https://stackoverflow.com/a/7244263/13227971
推荐阅读
- docker - 转义字符如何在 Dockerfile 中工作?
- excel - Excel/CSV - 如何停止 excel 自动将字符串格式化为日期
- ruby-on-rails - 无法将 Rails 从 4.20 升级到 5.2.3
- android - 无法使用导入到 AndroidKeyStore RSA 私钥进行签名
- ruby - Ruby canvas_cc gem 导致错误
- node.js - 量角器 - Eclipse - 运行配置 - 缺少量角器选项
- javascript - 旋转虚线边框js
- python - 为什么这段代码没有删除行?(Flask-SQLAlchemy)
- android - 在 Android Camera2 API 中,如何设置自定义图像纵横比或分辨率?
- regex - 正则表达式替换记事本++中标签内的文本