我正在尝试使用 Python 脚本将 PDF 文件上传到使用 Hot Banana 内容管理系统的网站。我已成功登录该网站并可以注销,但我似乎无法上传文件。
文件上传是大型复杂 Web 表单的一部分,该表单通过 POST 提交表单数据和 PDF 文件。使用 Firefox 以及 Firebug 和 Tamper Data 扩展,我查看了浏览器在 POST 中发送的内容以及它的去向。我相信我模仿了浏览器在代码中发送的数据,但我仍然遇到问题。
我导入 cookielib 来处理 cookie,导入海报来编码 PDF,导入 urllib 和 urllib2 来构建请求并将其发送到 URL。
注册海报开启器是否可能会破坏 cookie 处理器开启器?我这样做完全错误吗?
<小时/>编辑:调试进程的好方法是什么?目前,我只是将 urllib2 响应转储到文本文件并检查输出,看看它是否与我手动上传文件时得到的结果匹配。
编辑 2:Chris Lively 建议我发布我收到的错误。 urllib2 的响应不会生成异常,而只是返回:
<script>
if (parent != window) {
parent.document.location.reload();
} else {
parent.document.location = 'login.cfm';
}
</script>
我会坚持下去的。
最佳答案
像 WireShark 这样的工具将为您提供比 Firefox 插件低得多的级别的更完整的跟踪。
通常,这可能是简单的事情,例如未正确设置内容类型,或未能包含内容长度。
关于python - 如何调试文件上传?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/632577/