问题标签 [lwp]

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 回答
610 浏览

perl - 为什么 Perl 的 LWP::Simple 附带的 head 命令只有在我在命令行上调用它时才有效?

我有一个简单的 perl 子例程,在决定是否打印链接到它的脚本或我们本地托管的副本之前,它会检查 google 是否仍在托管 jquery 1.6 的副本。

这是我正在使用的代码的副本。

当我在此命令行上运行此代码时,检索响应没有问题,并且它正确打印出链接到 google 的 jquery 副本的脚本标记。但是,当我实际从构建 html 页面的 perl 脚本中调用它时,它每次都找不到任何东西,并打印出链接到我们自己的副本的脚本标记。

哪些权限或其他类型的障碍可能会阻止此连接?

谢谢你的帮助。

注意:到目前为止,这仅在我们的本地测试服务器上运行。命令行也在测试服务器上运行。

0 投票
2 回答
14450 浏览

perl - 如何强制 LWP 使用 Crypt::SSLeay 进行 HTTPS 请求?

我的症状是我无法使用带有 LWP 的 HTTPS 请求的代理。这似乎是一个常见问题,Google 甚至这里的提示都建议了一种解决方法来设置HTTPS_PROXY环境变量以供 Crypt::SSLeay 使用。

我的具体问题似乎是 LWP::Protocol::https 正在加载 IO::Socket::SSL 而不是 Crypt::SSLeay。我怎样才能强制使用 Crypt::SSLeay?

我的代码:

它的输出显示 Crypt::SSLeay 没有被使用:

简单地向我的脚本添加显式use Crypt::SSLeay已被证明是无效的。它会加载模块,但会继续加载 IO::Socket::SSL,并将其用于 HTTPS 请求。

0 投票
1 回答
29116 浏览

perl - LWP::UserAgent HTTP 基本认证

我试图运行这个 perl5 程序:

另一方面,我有 HTTP::Daemon:

它只是打印:

所以我看到 LWP::UserAgent 不发送 HTTP 基本身份验证,但我不知道为什么。

我在这个网站上看到了一些帖子,但他们有相同的基本代码,但它不起作用......

如果我使用 HTTP::Request 那么它可以工作:

输出:

我之前是不是做错了什么?

0 投票
2 回答
1893 浏览

perl - Perl 脚本仅下载某些 URL (https://...)

以下是有效的:但现在我正在尝试从需要身份验证的网站下载一个文件(并且可能保存一个 cookie,该 cookie 在 24 小时内到期)以访问内容。

如何向网站提供此身份验证?如果未经联合国身份验证的用户访问 URL(或网站),他/她将被重定向到身份验证页面,您必须在其中输入用户名和密码并按 Enter(登录按钮)。身份验证控制后自动返回您最初询问的 URL。

这是我到目前为止所拥有的,适用于不需要身份验证的网站:

现在我需要从 URL 下载此文件:https ://myurl.com/file.doc 需要身份验证:用户名/密码。

添加问题定义:以下是在我的情况下如何使用普通浏览器:...

  1. 在浏览器中发布您的网址:https://myurl/files/file.doc
  2. 你会得到一个登录页面(URL 看起来还是一样)
  3. 输入字段名称:用户名/密码
  4. 按“确定”按钮(字段名称 btnSubmit)

    登录成功后:

  5. 你得到新页面: https://newurl/pagSuccess/
  6. 您必须在此页面上单击“确定”(返回您想去的地方......)
  7. 然后你会得到一个浏览器对话框:你必须:

    选择(单选按钮)“保存文件”按确定

  8. 你完成了!文件保存在本地。

0 投票
0 回答
405 浏览

perl - 如何可靠地获得 IP 地址的传出掩码?

如何快速可靠地屏蔽我的传出 IP 以执行许多 Web 请求?

  1. Tor太慢了。它需要 10 倍的时间。

  2. Tor隧道对我来说根本不起作用http://www.thoughtcrime.org/software/tortunnel/

  3. CPAN WWW::FreeProxyListsCom.pm 未能通过 cpan 构建测试。

  4. CPAN WWW::FreeProxy 没有返回任何结果

  5. CPAN HTTP::ProxySelector 没有返回任何结果

有人可以对此提出一些好的建议吗?最好的方法是什么?

免责声明:我正在从政府收集数据。正在积极阻止连接的网站。这些数据是为了公共利益,网络管理员没有提供公共服务来提供信息。这不是一个阴暗的项目,而是为了公共服务。

到目前为止,您可以在此处检查我的代码 https://code.launchpad.net/~jamesmikedupont/aspxezxs/aspxtraktor

对此的任何帮助将不胜感激,还有那些想捐赠一些 CPU/BW 的人。

0 投票
1 回答
1645 浏览

perl - Perl LWP 不工作

我在 Windows 7 Pro 上使用 Padre 作为我的 IDE 和 Strawberry Perl。

我正在尝试创建一个 perl 脚本,该脚本可以转到网站上的文本文件,然后读取/复制文本文件。

但即使是最简单的 LWP 命令,我也无法让 LWP 工作。

我不断收到此错误消息: 500 can't connect to proxy.sn.no:8001 (Bad hostname) eg 500 can't connect to (Bad hostname) http://www.perlmeme.org

我一直在谷歌搜索,使用 Microsoft Fixit 重置端口等,但我仍然无法使其工作。http//www.justskins.com/forums/lwp-connect-failing-bad-119421.html

有谁可以帮我离开这里吗?被困了好几个小时:(

编辑:

--1 foreach my $key (keys %ENV) { print "$key: $ENV{$key}\n" if $key =~ m/proxy/i; }

是的,它会打印出 FTP_PROXY 和 HTTP_PROXY,然后是:http ://proxy.sn.no:8001/

那是我从这个帮助线程获得的代理我如何安装模块?草莓 Perl 问题

我遇到了代理问题,然后我尝试了该线程的配置,然后代理问题仍然存在。

--2 我不希望在我的终端或任何东西上使用任何代理。只想将 perl 脚本连接到网站以检索文本文档。

--3 ping 损失 0%。(我只能在这篇文章中发布两个超链接)

--4 我正在使用 Windows。

0 投票
2 回答
180 浏览

perl - 如何为 LWP::RobotUA 指定自己的 robots.txt 规则

我编写了一个脚本来使用 LWP::RobotUA 检查我自己的网站。我想避免对我的 robots.txt 的频繁请求。

LWP::RobotUA 的规则参数应该允许我指定这些,但我不明白应该为“允许所有页面”传递什么。

0 投票
1 回答
868 浏览

perl - LWP::Simple getstore 在 Windows 中不起作用

作为我的 Perl 脚本的一部分,我有以下简单的命令,它应该下载 a$url并将其内容存储到文件中$file

当我在我的 Fedora Linux 上运行它时,它工作得非常好,但是当我在 Windows 上运行相同的代码时,它似乎$file仍然是空的..

这很奇怪,因为正如我所提到的,代码没有变化,而且这个命令非常基本。

也许有人知道为什么会发生这种行为?

谢谢!

0 投票
1 回答
447 浏览

regex - 如何使用 LWP 和正则表达式抓取 javascript 函数的日期参数?

我很难从特定网页中抓取日期,因为日期显然是传递给 javascript 函数的参数。我过去写过一些简单的刮板,没有任何重大问题,所以我没想到会出现问题,但我正在为此苦苦挣扎。该页面有 5-6 个常规 yyyy/mm/dd 格式的日期,例如 dateFormat('2012/02/07')

理想情况下,我想删除除了要保存在数组中的六个日期之外的所有内容。在这一点上,我什至无法成功约会,更不用说所有约会了。这可能只是一个格式不正确的正则表达式,我一直在寻找它,以至于我再也找不到了。

Q1。为什么我没有与下面的正则表达式匹配?

Q2。继上述问题之后,我如何将所有日期刮到一个数组中?我正在考虑假设页面上有 x 个日期,循环 x 次并将捕获的组分配给每个循环的数组,但这似乎相当笨拙。

问题代码如下。

0 投票
3 回答
326 浏览

regex - Perl:为什么这个网络爬虫正则表达式工作不一致?

我遇到了与我要抓取的网站有关的另一个问题。

基本上我已经从页面内容中删除了大部分我不想要的内容,并且由于这里提供的一些帮助,我设法隔离了我想要的日期。尽管一些初始问题与非破坏空间相匹配,但其中大部分似乎工作正常。但是,我现在在使用最终的正则表达式时遇到了困难,该正则表达式旨在将每行数据拆分为字段。每条线代表股价指数的价格。每行的字段是:

  1. 一个任意长度的名称,由拉丁字母表中的字符组成,有时是逗号或与号,没有数字。
  2. 小数点后两位数(索引的绝对值)。
  3. 小数点后有两位数的数字(值的变化)。
  4. 小数点后有两位数字,后跟百分号(值的百分比变化)。

这是一个示例字符串,在拆分之前:“Fishery, Agriculture & Forestry243.45-1.91-0.78% Mining360.74-4.15-1.14% Construction465.36-1.01-0.22% Foods783.2511.281.46% Textiles & Apparels412.070.540. 13% 纸浆和造纸 333.31-0.29-0.09% 化学品 729.406.010.83% "

我用来分割这一行的正则表达式是这样的:

$mystr =~ s/\n(.*?)(\d{1,4}\.\d{2})(\-?\d{1,3}\.\d{2})(.*?%)\n/\n$1 == $2 == $3 == $4\n/ig;

它有时有效,但有时无效,我无法弄清楚为什么会这样。(下面示例输出中的双重等号用于使字段拆分更容易可见。)

我认为对于那些指数价格出现负变化的指数来说,减号是一个问题,但有时尽管有减号,它仍然有效。

问:为什么下面显示的最终正则表达式无法一致地拆分字段?

示例代码如下。