0

我试图将一些数据发送到网站上的表单是我使用的成员cURL,但是当我查看正在发送的标头时,它们似乎已被加密。

有没有办法通过让计算机/服务器访问该站点并将数据实际添加到表单上的输入然后点击提交来解决这个问题,以便它生成正确的数据并发布表单?

4

5 回答 5

2

你有几个选择:

  • 对执行加密(或可能只是编码)过程的 JavaScript 进行逆向工程
  • 获得一个浏览器引擎(例如 Gecko 引擎),并为其添加一些脚本以填写表单并按下提交按钮 - 当然您需要页面本身内的 JavaScript 支持
  • 使用 HTML 解析器解析 HTML,将其中的 JavaScript 提供给具有正确库的 JavaScript 运行时,填写“表单”并点击提交按钮

选择第一个选项可能最容易。JavaScript 必须处于打开状态才能在浏览器中执行。但是逆向工程可能需要一些时间,因为它可能会被混淆。

于 2013-07-16T23:57:05.157 回答
1

您可以使用框架来自动化网页上的用户交互,例如 Selenium。

这将使您不必费心进行任何逆向工程。

Selenium 具有多种语言的绑定,包括 Python 和 java。

于 2013-07-22T20:13:01.760 回答
1

如果 javascript 在相关网站上可见,您应该能够简单地复制和粘贴他们的加密例程,以完全按照他们的方式准备标题

于 2013-07-22T16:53:22.110 回答
1

使用 AutoHotKeyIt 并让它正常使用浏览器。它可以从文件中读取,并无限地执行重复性任务。您还可以推送一个标志以使其仅在该应用程序中发生,这意味着您可以将其最小化,但仍然执行操作。

您似乎对他们加密标头等问题有疑问,那么为什么不简单地利用它作为您的优势呢?您仍在推送相同的数据,但现在您正在围绕他们的系统工作。你也几乎没有副作用。

于 2013-07-22T20:33:43.087 回答
1

如果您可以隔离对您在表单中键入的数据进行编码的函数,那么一个 hacky 修复 - 是使用PyV8之类的东西在 python 中执行 JS。

于 2013-07-22T19:19:55.923 回答