Python使用mechanize提交post数据

2024-02-08

我必须提交到服务器的网址如下所示:

www.mysite.com/manager.php?checkbox%5B%5D=5&checkbox%5B%5D=4&checkbox%5B%5D=57&self=19&submit=Go%21

帖子数据我是这样写的:

data = {'checkbox%5B%5D': '4', ....and so on... 'self': '19', 'submit': 'Go%21'}

我对其进行编码:

data = urllib.urlencode(orbs)

这就是我运行它的方式:

resp = mechanize.Request('http://mysite.com/manager.php', data)
cj.add_cookie_header(resp)
res = mechanize.urlopen(resp)
print res.read()

错误提示:我没有选择任何项目。 因为我有嵌套表单,所以在不使用 br.select_form(nr=0) 的情况下如何正确执行此操作? 谢谢。


url 编码是将字符串(即“[]”)更改为百分比编码字符串(即“%5B%5D”)的过程,而 url 解码是相反的操作。所以:

checkbox%5B%5D=5&checkbox%5B%5D=4&checkbox%5B%5D=57&self=19&submit=Go%21

解码后是:

checkbox[]=5&checkbox[]=4&checkbox[]=57&self=19&submit=Go!

在您的代码中,您实际上正在编码一个已经编码的网址:

data = {'checkbox%5B%5D': '4', ....and so on... 'self': '19', 'submit': 'Go%21'}
data = urllib.urlencode(orbs)

相反,使用解码后的数据并将其传递给 urlencode:

data = {'checkbox[]': '4', ....and so on... 'self': '19', 'submit': 'Go!'}
data = urllib.urlencode(orbs)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python使用mechanize提交post数据 的相关文章

随机推荐

  • [UICollectionView setCollectionViewLayout:animated:] 访问错误

    我的 UICollectionView 发生了奇怪的崩溃 崩溃的 UICollectionView 嵌入到另一个 UICollectionView 的 UICollectionView 单元格中 我无法重现这个问题 如果内部 UIColle
  • 在 docker 容器中运行 emacs

    我使用的是 Mac 想在我的 docker 容器中运行 emacs 有解决这个问题的首选方法吗 在我的流程中 我陷入困境 因为未设置显示 术语 gt docker exec it c6a7a76db84c bash gt sudo apt
  • 测试php字符串是否为整数

    post用于模拟 POST 我发现 POST int 是一个字符串 我怎样才能知道是否 post int 是一个整数 下面表明它不是整数 编辑 根据文档 http php net manual en function is int php
  • 如何覆盖 gem 依赖?

    我有 2 个 gem 它们依赖于冲突版本的 hashie 一个需要 gt 1 2 0 另一个需要 3 3 1 Bundler could not find compatible versions for gem hashie In Gemf
  • 如何在多个多面 ggplot2 图形中实现相同的面大小和比例?

    我有一系列ggplot2具有恒定数量的水平面但不同数量的垂直面的图形 我想将图形保存为横向 a4 格式的 pdf 但是 我不知道如何才能实现相同比例的面 如果我尝试手动调整它并改变width and height对于不同数量的垂直面 图之间
  • 正则表达式不允许输入字段中有空格

    我的表单中有一个用户名字段 我不想在字符串中的任何地方允许空格 我已经使用了这个正则表达式 var regexp S 如果字符之间有空格 这对我有用 也就是说 如果用户名是ABC DEF 如果开头有空格 则不起作用 例如
  • 如何设置像 blogspot 这样的子域

    当用户注册我的网站时 应该如何为他们设置子域 需要哪些基础设施 我正在使用 Linux 服务器 您可以使用特定的 DNS CNAME or A AAAA 每个已知子域的条目 或接受 example com 的通配符 DNS 条目 ORIGI
  • Pandas 系列 - 打印列和行

    现在我不太担心在系列中获取数据的最有效方法 假设我的系列如下 A 1 B 2 C 3 D 4 如果我使用 for 循环来迭代它 例如 for row in seriesObj print row 上面的代码将在右侧打印值 但是可以说 我想获
  • 禁用 JTextPane 中的编辑,同时允许可见的光标移动

    我有一个JTextPane它是通过从文件中读取来填充的 然后对数据进行解析和格式化 该用户无权编辑JTextPane 但我希望他们能够使用可见的光标在其中导航 如果我使用setEditable false 光标是不可见的 尽管可以通过按住来
  • 为什么java在eclipse中运行会出现编译时错误

    interface A public void f public void g class B implements A public void f System out println B f public class Main publ
  • 什么时候需要使用 renderer.outputEncoding = THREE.sRGBEncoding

    我是 Three js 的新手 我一直在通过尝试制作简单的场景并了解官方示例的工作原理来学习 Three js 最近我一直在看https trijs org examples q trans webgl materials physical
  • 使用 PHP/MySQL 进行搜索过滤

    我正在尝试在我的献血者应用程序中创建搜索 过滤选项 可以通过性别 姓名 血型或选择全部三项来搜索捐赠者 这是我的代码 function search donar POST by name POST by name by sex POST b
  • 从 chrome 扩展注入的 js 访问全局 js 变量

    我正在尝试创建一个带有侧面板的扩展 此侧面板将包含一些按钮 这些按钮将根据主机页面状态执行操作 我跟着这个例子 https stackoverflow com questions 39610205 how to make side pane
  • 网格的 VBO 不正确:某些三角形已连接且不应连接 [2D]

    我正在用这段代码生成我的VBO int SCREEN WIDTH 800 int SCREEN HEIGHT 480 int PIXEL PER VERTEX 4 int CAVERN TEXTURE WIDTH 1024 int CAVE
  • 调整白色图像大小后获得灰色边框

    我在谷歌上搜索某种解决方案 我找到了一个 我尝试在我的代码中实现它 但它不起作用 问题是 调整白色图像的大小后 它们会得到灰色边框 这是我找到的解决方案的链接 It says 出现此问题的原因是您将图像数据插值到 新尺寸 但沿边缘没有可插入
  • 如果 jQuery 尚未加载,如何加载它?

    我有一个初始化程序 js其中包含以下内容 if typeof jQuery undefined var headTag document getElementsByTagName head 0 var jqTag document crea
  • 在文档准备好时触发 jQuery 更改函数

    我的更改功能允许用户从一个国家切换到另一个国家并获得不同的文本和功能 它在更改国家 地区选择时起作用 但在初始页面加载时 它不会触发 jQuery 更改来设置默认 初始国家 地区的隐藏和显示文本 div 两个 div 都会在初始页面加载时显
  • 是否有工具可以知道一个值是否具有精确的二进制表示形式作为浮点变量?

    我的 C API 有一个函数 它将作为输入double 只有 3 或 4 个值是有效输入 所有其他值都是无效输入并被拒绝 我想检查是否可以准确表示所有有效输入值 以便我可以避免 epsilon 检查以简化可读性 是否有一个工具 最好是在命令
  • Django 视图中的本地化日期 strftime

    我想从 django 视图发送 JSON 格式的本地化日期 正常文本翻译通过 ugettext is OK 以下代码在视图中没有效果 translation activate ru print datetime now strtime B
  • Python使用mechanize提交post数据

    我必须提交到服务器的网址如下所示 www mysite com manager php checkbox 5B 5D 5 checkbox 5B 5D 4 checkbox 5B 5D 57 self 19 submit Go 21 帖子数