python - 如何调试文件上传?

标签 python post upload urllib2

我正在尝试使用 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/

相关文章:

python - 是否有替代 python 函数作为 PHP include() 函数?

python - 如何根据具体参数分配多个key :value dicts into an already established dictionary,

PHP - 通过各种用户操作的表单安全地发送数据

coldfusion - 使用 ColdFusion 上传文件,文件过大超时?

python - 如何在 Python Pandas 中的两个值之间选择 DataFrame 中的行?

python - 我如何进一步分析和优化这个字符串标记化函数?

jquery - ajax post不发送数据

html - Amazon Mechanical Turk 外部提交错误

javascript - 为什么 post_max_size 和/或 upload_max_filesize 限制被忽略?

ASP.NET 图片上传架构