繁体   English   中英

在Python中,如何登录,通过HTTP POST(不是url编码)回答Web表单,并获取返回的XML文件?

[英]In Python, how might one log in, answer a web form via HTTP POST (not url-encoded), and fetch a returned XML file?

我基本上每周一次尝试导出一个配置文件。 虽然有问题的产品允许您通过Web客户端手动登录,但输入一些信息,并在提交时获取XML文件,因此无法自动执行此操作。 我可以使用Python 2.5(已经使用了一段时间)或2.6(不熟悉)来做到这一点。

  1. 我想我需要有一些方法来对产品进行身份验证。 虽然我可以在Firefox中查看cookie,但是当我查看实际的cookie.txt文件时,它不存在。 清除我的私人数据并重新验证后没有显示。 奇。 我应该为Cookie模块拍摄,还是这可能是一种只看起来像cookie的神秘认证方法? 我怎么会知道?

  2. 我想我需要httplib模块来进行HTTP POST,但我不知道如何进行multipart/form-data编码。 我是否忽略了一个方便的选项,或者这是我必须自己推出的东西?

  3. 我假设我可以从httplib获取HTTPesponse的XML文件。

我之前通过Python获取了Web内容,但没有使用POST,多部分编码和身份验证。

urllib2应该涵盖所有这些。

这是一个基本身份验证示例

这是一个包含multipart / form-data帖子

尝试机械化模块。

您应该查看MultipartPostHandler:

http://odin.himinbi.org/MultipartPostHandler.py

如果您需要支持unicode文件名,请参阅以下修订: http//peerit.blogspot.com/2007/07/multipartposthandler-doesnt-work-for.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM