1

我正在尝试使用 Python 脚本使用 Hot Banana 的内容管理系统将 PDF 文件上传到网站。我已成功登录该站点并可以注销,但我似乎无法正常上传文件。

文件上传是大型复杂网络表单的一部分,该表单通过 POST 提交表单数据和 PDF 文件。使用 Firefox 以及 Firebug 和 Tamper Data 扩展,我查看了浏览器在 POST 中发送的内容以及它的去向。我相信我模仿了浏览器在代码中发送的数据,但我仍然遇到问题。

我正在导入 cookielib 来处理 cookie、poster 来编码 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>

我会坚持下去的。

4

3 回答 3

1

WireShark这样的工具将在比 firefox 插件低得多的级别上为您提供更完整的跟踪。

通常这可能很简单,比如没有正确设置内容类型,或者没有包含内容长度。

于 2009-03-11T03:42:05.747 回答
0

您最好对服务器进行检测以查看失败的原因,而不是尝试在客户端进行调试。

于 2009-03-11T01:54:55.677 回答
0

“调试 [Web 服务] 进程的好方法是什么?”

目前,我只是将 urllib2 响应转储到文本文件并检查输出以查看它是否与我手动上传文件时得到的匹配。

正确的。这就是全部。

HTTP 是一个非常简单的协议——你发出一个请求(在这种情况下是 POST),服务器就会响应。在调试时没有太多其他事情可以做。

你还想要什么?严重地。您认为这种无状态协议可能存在什么样的调试器?

于 2009-03-11T13:09:28.190 回答