问题标签 [lwp-useragent]

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 投票
2 回答
824 浏览

perl - 为什么 Perl HTTP::Response 不解码这个撇号?

我正在使用

获取网页。在这个页面上,Abobo's Big Adventure出现。在$request->content$request->decoded_content中,这显示为Abobo's Big Adventure

我可以做些什么来正确解码吗?

0 投票
3 回答
1418 浏览

perl - 使用 LWP::UserAgent 损坏图像

以下脚本循环运行,使用 检索图像LWP::UserAgent,并使用 调整它们的大小Image::Magick

Image::Magick读取下载的图像时出现此错误:

如果我将 LWP 下载的图像下载到我的计算机,在照片编辑器中打开它,另存为 .jpg 文件,上传并尝试阅读,Image::Magick那么一切都很好。这会让我相信图像没有正确保存。

我需要使用LWP::UserAgent,因为我连接的服务器不允许下载,除非它认为客户端正在请求数据。

0 投票
1 回答
200 浏览

xml - 无法在 GetRss.pl 第 25 行的未定义值上调用方法“rs_namespace_uri”

我正在努力从在线新闻报纸的 RSS 提要中获取特殊术语。我正在使用带有 LWP::UserAgent 的 XML::RSS::Parser 进行 URL 下载。我无法让它工作,即使我实际上使用来自 cpan 的复制粘贴:http : //search.cpan.org/~tima/XML-RSS-Parser-1.02/Parser.pm# $feed-%3Erss_namespace_uri . 我总是遇到同样的错误:“无法在 GetRss.pl 第 25 行的未定义值上调用方法“rss_namespace_uri””。我已经尝试了一切......我在使用 LWP::Simple 和 XML::RSS::Parser 时遇到了同样的问题,我使用 FileHandle 管理它,但我知道我想从多个站点获取提要,保存在大批。这是我的代码:

谢谢

0 投票
2 回答
2336 浏览

perl - 为什么 LWP::UserAgent 不能完全获取这个站点?

它从一开始只输出几行。

0 投票
1 回答
3081 浏览

perl - 在 URL 中使用 GET 变量发送 POST 请求(使用 LWP::UserAgent)

我必须向还包含 GET 变量(查询字符串)的 URL 发出 POST 请求。

我尝试了以下方法(看起来是最简单/合乎逻辑的方式),但它不起作用:

my.domain/index.pl 确实收到任何请求,但只要我删除查询字符串“?login=yes”,请求就会正常工作。

0 投票
1 回答
481 浏览

perl - Perl 无需 getstore 即可下载 .gz 文件的最快方法

我有兴趣使用 perl 下载 .gz 文件并将其提取到脚本本身而不存储到文件中。Getstore 将文件存储到磁盘。是否可以使用 perl LWP::Simple 或 LWP::Useragent 通过代理下载 .gz 文件。

谢谢!

0 投票
2 回答
1204 浏览

perl - 如何使用 LWP::UserAgent 测试 HTTP 标头值

当我得到答案时,我可能会发布更多问题,但这里有!

我目前正在尝试对我的大学用来自动下载包含 SAT 分数数据的文件的 Perl 脚本进行故障排除。

这个想法是阅读某个帐户中的电子邮件;拉出循环编号(在 URL 中使用);拼凑多个网址;然后用于LWP::UserAgent从服务器上抓取文件并对它们执行其他 Perl 魔术。

在我的调查中,我确定手动输入 URL(从而限制用户运行的脚本,每次都替换循环号)确实有效。

在检查发回的响应对象时,我注意到(首先)失败的请求中缺少以下行:

但是它存在于成功的请求中。

如果你们中的任何人能告诉我为什么在不成功的请求中缺少这条线,你们会感谢我的,但这不是我要问的。

我的问题与进一步调查有关,以了解它被拒绝的原因。

在文档中LWP::UserAgent我注意到了这一点:

LWP 内部生成的错误响应会将“Client-Warning”标头设置为值“Internal response”。如果您需要将这些内部响应与远程服务器实际生成的响应区分开来,则需要测试此标头值。

我的问题:您如何实际测试该标头值?(请原谅任何无知;我是大学 IT 部门的实习生)

0 投票
1 回答
4187 浏览

perl - 使用 LWP::UserAgent 时不保存 Cookie

我正在尝试使用 cookie,LWP::UserAgent但它们没有保存在文本文件中。我究竟做错了什么?

转储的数据如下所示:

而且lwp_cookies.txt只有这个:

我在 Win with Strawberry Perl 上。

0 投票
1 回答
561 浏览

asp.net-mvc - 无法使用 WWW::Mechanize 或 LWP::UserAgent 发布 ASP-NET 表单

我需要自动提取产品目录,我们是授权经销商。这家公司是 Ingram Micro,规模很大,但他们没有提供简单的方法(如 Web 服务)来查询他们的目录和库存,所以到目前为止,我们每天都在使用 LWP::UserAgent 提取它,用于我们的在线商店数据库。

最近,他们更改了他们的网站,我无法检测到阻止我的 Perl 脚本成功登录的东西。如果我直接在浏览器上尝试,我会成功登录,但如果我尝试从 Perl 提交表单,我会再次获得登录页面(就像登录不成功)。

他们的网站是在 AspNet 上制作的,并且充满了 ASP 生成的隐藏表单字段。起初,我正在做自己的“蜘蛛”来获取登录页面,读取所有隐藏字段值并将它们与用户名和密码一起包含在我的 POST 登录请求中,但现在,在这个问题之后,我开始使用 WWW: :Mechanize 执行请求并正确自动执行该任务。

但是,不是 WWW::Mechanize 或 LWP::UserAgent 能够成功登录。

我什至尝试查看浏览器和服务器之间的确切 HTTP 对话,并在我的自动请求中包含相同的确切标头以及正确的 POST 内容,甚至这样做我从 Perl 登录不成功,从 Perl 登录成功浏览器。

我真的很绝望,我无法检测到问题,如果没有此目录更新,我们将无法运行商店。

您可以在此处查看登录页面:https ://www.imstores.com/ingrammicromx/

请,如果有人有类似问题的经验,或者有人可以查看该页面并检测浏览器与 WWW::Mechanize 请求不同的原因,请告诉我。

谢谢你。

0 投票
2 回答
766 浏览

windows - WWW::Mechanize 的随机错误:不支持协议方案“https”(未安装 LWP::Protocol::https)

我正在与 WWW::Mechanize 合作,将网站上的产品目录添加到我们的数据库 (Ingram Micro) 中。一切都通过 SSL。

我收到如下随机错误:

Protocol scheme 'https' is not supported (LWP::Protocol::https not installed)

...但是,LWP::Protocol::https安装。事实上,大部分时间一切正常。我唯一能想到的是,这与在 Windows 上使用线程有关(该进程将作业拆分为 25 个线程,以弥补 Ingram 网站交付每个页面所花费的长时间)。当我使用单线程时,我还没有看到错误(到目前为止)。

错误不会每次都发生,通常只发生在一个线程上,其余的可以在没有收到它的情况下工作。

然而,这真的很奇怪。我想知道这里是否有人以前见过这样的事情,或者是否有人知道为什么会发生这种情况。

谢谢,

弗朗西斯科

编辑:以防万一有人想知道,我在使用 MSVC10 构建的 Windows 7 x64 和 Perl 5.16.3 x64 上。