问题标签 [www-mechanize]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
15109 浏览

php - 是否有与 Perl 的 WWW::Mechanize 等效的 PHP?

我正在寻找一个功能类似于 Perl 的WWW::Mechanize的库,但适用于 PHP。基本上,它应该允许我使用简单的语法提交 HTTP GET 和 POST 请求,然后解析结果页面并以简单的格式返回所有表单及其字段,以及页面上的所有链接。

我知道 CURL,但它有点太简单了,而且语法很丑(大量的curl_foo($curl_handle, ...)语句

澄清:

我想要比目前的答案更高级的东西。例如,在 Perl 中,您可以执行以下操作:

要使用 HTTP_Client 或 wget 或 CURL 做同样的事情会做很多工作,我必须手动解析页面以查找链接、查找表单 URL、提取所有隐藏字段等等。我要求使用 PHP 解决方案的原因是我没有使用 Perl 的经验,我可能会通过大量工作来构建我需要的东西,但如果我能在 PHP 中完成上述操作会快得多。

0 投票
2 回答
1686 浏览

perl - WWW::Mechanize 和“HTTP::Message content must be bytes at...”

我正在编写一个简单的程序,它必须更改波兰拍卖网站上的一些数据。

其中一个步骤涉及加载编辑页面、更改一个值并提交它。

可以在此处查看示例页面:http: //depesz.com/various/new_item.php.html - 这只是此类编辑页面的静态副本。

我的 perl 代码的相关部分:

第一次提交后,我得到了我显示的页面。然后我将 scheme_id 字段中的值更改为 1025,并提交表单。

之后我得到:

我试图在表单上的文本字段上重新编码值 - 因此 agent->field(... encode) 行,但它没有帮助。

目前我不知道表单上的什么会使 WWW::Mechanize 以这种方式失败,但我显然无法自行修复。

有没有办法调试这种情况?或者也许我应该做些不同的事情?

0 投票
3 回答
2576 浏览

perl - 使用 WWW::Mechanize 透明地处理 GZip 编码的内容

我正在使用 WWW::Mechanize 并且当前Content-Encoding: gzip通过首先检查响应标头然后使用 IO::Uncompress::Gunzip 来获取未压缩的内容来处理我的代码中带有 ' ' 标头的 HTTP 响应。

但是,我想透明地执行此操作,以便 WWW::Mechanize 方法(如 form()、links() 等)可以处理并解析未压缩的内容。由于 WWW::Mechanize 是 LWP::UserAgent 的子类,因此我更喜欢使用LWP::UA::handlers来执行此操作。

虽然我已经部分成功(例如,我可以打印未压缩的内容),但我无法以我可以调用的方式透明地做到这一点

总而言之:我如何“替换” $mech 对象中的内容,以便从那时起,所有 WWW::Mechanize 方法都像 Content-Encoding 从未发生过一样工作?

感谢您的关注和帮助。谢谢

0 投票
3 回答
1046 浏览

perl - 如何让 WWW::Mechanize 工作?

这个脚本:

产生此错误消息:

获取http://www.google.com时出错:无法在 D:\PERL\try.pl 第 5 行连接到 www.google.com:80(连接:未知错误)

怎么了?

0 投票
5 回答
4375 浏览

perl - How do I use and debug WWW::Mechanize?

I am very new to Perl and i am learning on the fly while i try to automate some projects for work. So far its has been a lot of fun.

I am working on generating a report for a customer. I can get this report from a web page i can access. First i will need to fill a form with my user name, password and choose a server from a drop down list, and log in. Second i need to click a link for the report section. Third a need to fill a form to create the report.

Here is what i wrote so far:

I dont understand why, but, after this i look at the what dump outputs and i see the code for the first login page, while i belive i should have reached the next page after my successful login.

Could there be something with a cookie that can effect me and the login attempt?

Anythings else i am doing wrong?

Appreciate you help, Yaniv

0 投票
3 回答
4497 浏览

perl - 如何使用 Perl 的 LWP 登录 Web 应用程序?

我想编写一个脚本来登录 Web 应用程序,然后移动到应用程序的其他部分:

当我尝试此代码时,我无法登录应用程序。返回的 HTTP 状态码是 302,已找到,但没有数据。

如果我使用所有必需的内容发布用户名/密码,那么它应该返回应用程序的主页并保持连接活动以移动应用程序的其他部分。

0 投票
2 回答
488 浏览

perl - 如何配置 WWW::Mechanize 以通过代理工作?

我坐在代理后面,让 HTTP 和 WWW::Mechanize 在本地正常工作。

但是建议|| 请提供有关如何通过代理的指示。

问候伊恩

0 投票
1 回答
592 浏览

perl - 如何使用 WWW::Mechanize 选择随机列表框项?

使用 Perl 的WWW::Mechanize模块,我想从选择框中选择一个随机值。我怎样才能做到这一点?我dump_forms可以转储选择框值,但是如何将它们放入数组中?

0 投票
3 回答
6637 浏览

perl - 提交表单后如何使用 WWW::Mechanize 下载文件?

我有代码:

它在页面上提交下载按钮,但我不确定如何下载 POST 后发回的文件。

如果可能的话,我想要一种用 wget 下载它的方法。我在想他们可能是通过了一个秘密网址还是什么?还是我必须直接从响应流中使用 LWP 下载它?

那么如何下载该标题中的文件?

谢谢,

科迪·古德曼

0 投票
2 回答
1541 浏览

perl - 如何向 WWW::Mechanize 添加进度条?

我有以下代码:

所以我正在获取一个 url 的内容并将其保存为一个 flv 文件。我想每隔一秒左右打印出剩余的下载量。有没有办法在 WWW::Mechanize 中实现这一点?