作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我需要使用 Linux 命令行向网站发布表单和上传文件。
我做了一些搜索,我想用 Python 编写脚本。
我需要先登录该网站,保存 cookie,然后发布表单数据并将文件上传到该网站。
详情如下:
该网站的登录页面是:hxxp://www.example.com/login.html
<form action="/signin.html" method="post">
Username:<input type="text" name="username">
Password:<input type="password" name="password">
<input type="hidden" name="referer" value="http://www.example.com/">
<input type="submit" name="submit" value=" Login ">
</form>
上传页面为:hxxp://www.example.com.com/upload/
<form action="http://www.example.com:81/upload/upload.cgi" enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="314572800" />
File:
<input name="filename[]" type="file" />
Type:
<input type="radio" name="typeID" value=1> Option One
<input type="radio" name="typeID" value=2> Option Two
<input type="radio" name="typeID" value=3> Option Three
Title:
<input type="text" name="title" >
Description:
<textarea name="description"></textarea>
<input type="checkbox" name="agree" value="agree_terms"> I Accept Terms
<input type="submit" value="Upload It!">
</form>
此表单包含单选、文本、复选框、文件等输入。
请给我一些提示!
我使用的是 CentOS 5.5,安装了 Python、wget 和 PHP。我认为这可以在 Python 脚本中完成。
非常感谢!您的回答将是我收到的最好的圣诞礼物。 ;)
最佳答案
您当然可以使用 urllib2
来完成此任务。阅读有关如何处理 cookie 和如何上传文件的文档。但是,我认为使用 mechanize
可以节省很多时间。 Mechanize 允许您像使用浏览器一样处理网页:
import mechanize
br = mechanize.Browser()
br.open("http://www.example.com/")
br.select_form()
br['username'] = 'user'
br['password'] = 'pass'
br.submit()
etc.
关于python - 使用 Linux 命令行发布表单和上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4382788/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!