问题标签 [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.
perl - LWP::Simple 运行良好:如何在文件中存储 6000 ++ 条记录并进行一些清理?
晚上好,亲爱的社区!
我想处理多个网页,有点像网络蜘蛛/爬虫。我有一些东西 - 但现在我需要一些改进的蜘蛛逻辑。见目标网址http://192.68.214.70/km/asps/schulsuche.asp?q=e&a=50
更新:
多亏了两个很棒的评论,我获得了很多。现在代码运行得很好。最后一个问题:如何将数据存储到文件中......如何强制解析器将结果写入文件。这比在命令行中获取超过 6000 条记录要方便得多......如果输出是在文件中完成的,我需要做一些最终清理:查看输出:如果我们将所有输出与目标 url 进行比较 -那么确定这需要一些清理,你怎么看?!再次查看目标网址http://192.68.214.70/km/asps/schulsuche.asp?q=e&a=50
感谢所有信息!零!
这是一个老问题:作为 1-shot 功能的一部分,似乎可以正常工作。但是,一旦我将该函数作为循环的一部分包含在内,它就不会返回任何内容……有什么关系?
先说开头:看目标http://192.68.214.70/km/asps/schulsuche.asp?q=e&a=50 这个页面已经有6000多个结果了!那么我如何得到所有的结果?我使用模块 LWP::simple 并且我需要一些改进的参数,我可以使用这些参数来获取所有 6150 条记录......我有一个来自非常支持成员 tadmic 的代码(参见这个论坛) - 和这基本上运行得很好。但是在添加了一些行之后 - (目前)它会吐出一些错误。
尝试:这里是前 5 个页面的 URL:
我们可以看到 URL 中的“s”属性从第 1 页的 0 开始,然后每页增加 50。我们可以使用这些信息来创建一个循环:
我测试了代码并得到以下结果:
顺便说一句:这里是第 57 和 58 行: ...命令行告诉我这里有错误..:
你怎么看?是否缺少一些反斜杠!?如何修复和测试运行代码以使结果正确!?
期待你的零
查看我得到的错误:
perl - 使用 LWP - Perl 设置下载速度
我正在开发一个从互联网下载文件的应用程序;这些文件主要在ftp服务器中,我正在使用LWP::Simple
和getstore
检索文件的功能。但我想限制下载速度,比如wget
...
你有没有看到类似于--limit-rate
fromwget
内部实现的LWP
东西LWP::Simple
??
谢谢
perl - HTTP::Request 和文字 %2B
我正在制作一个将一些 XML 发布到另一台服务器的脚本,但我遇到了加号 (+) 的问题。这是我的代码:
正如您在属性代码中看到的,值字符串具有 %2B,而另一台服务器接收值“Ws+suHG7Xqk01RaIxm2L/w1L”。
我如何发送 %2B 文字。
提前致谢
韦尔奇
perl - 防止 LWP 转义请求参数名称中的某些字符
我需要向HTTP POST
某个 URL 提交请求,并且我需要指定一个可以解释为数组的参数名称 - 像这样:
但是,无论我尝试什么,LWP 总是转义 [] 字符。
这是示例代码:
提交的数据如下所示:
我需要它看起来像这样:
我无法控制远程应用程序,也无法影响任何事情,我只需要指定一个像这样的参数(作为数组的参数,实际上不是),我需要找到一种方法来做到这一点, 没有 Perl 转义括号字符。
我尝试过定义'array'
asarray
和arrayref
(以及许多其他的东西),但是 LWP 似乎不理解数组参数的概念,即使我有这个参数的多个值,它们都会以相同的参数名称 ( ?array=123&array=456&array=789
) 提交 - 这样也不会工作。
大多数情况下,我想知道我是否可以以某种方式(没有修改模块源)阻止 LWP 在发出 POST 请求时自动转义这些字符。
谢谢。
html - 为什么我可以使用浏览器通过此表单登录,而不是 LWP?
我试图登录一个网站,该网站使用此表单和三个输入进行身份验证。
如果我通过浏览器登录,成功登录会将我重定向到http://www.example.com/myhome.html。
但是下面的脚本没有让我登录并返回相同的login.html
页面。我错过了什么?我没有收到任何错误消息。我发帖成功了吗?
perl - Perl 中是否有任何 HTTP 连接迭代器?
我正在尝试解析来自 HTTP 查询的结果,这些查询最多可以返回数百万行——每行都需要解析。理想情况下,我希望一次从连接中读取一行并在进行时对其进行解析 - 所以基本上是一个 FileHandle-esque 迭代器,但现有的 HTTP 库似乎都可以一次获取所有内容,尽管可以 a) 保存到一个文件,或者 b) 使用代码 ref 处理块。A 并不理想,因为它是一个两遍解决方案(数据传输后需要逐行读取文件,并且可能会占用存储空间,这可能是不必要的)。B 并不理想,因为希望能够返回每一行,而不是在代码引用中处理它,而且块不是一行,因此 LWP 解决方案不会从 LWP 行重构中受益。我知道有非阻塞解决方案(使用 AnyEvent 和 Coro),但这些似乎对非阻塞性而不是逐行处理更感兴趣。任何人都可以在这里指出一个好的方向,还是我在吠叫错误的树?
perl - AWS SES 证书验证失败
我已经在一个 AWS 实例上成功设置了 SES。现在我试图在第二个(非克隆)实例上使用它,当我运行任何 SES 脚本时,我得到一个错误:
我得到:
无法连接到 email.us-east-1.amazonaws.com:443(证书验证失败) LWP::Protocol::https::Socket: SSL 连接尝试失败,出现未知错误错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:certificate在 /usr/local/share/perl/5.8.8/LWP/Protocol/http.pm 第 51 行验证失败。
让 Perl 的东西工作起来是一个挑战,我可能在实例上做了不同的事情。我应该寻找任何地方来解决这个问题?
当我运行时:
我得到:
这与 ses-get-stats.pl 工作的实例上的响应相同。
按照 daxim 的建议创建证书文件后,运行:
回报:
其次是包括证书在内的其他信息。
html - LWP 可以用来接收表单 POST 数据吗?
我有一个我使用的表单CGI::Application
,HTML::Template
其中包含这样的 HTML 表单
现在我需要编写receiver.pl
,并且想知道是否LWP
可以用于此?
或者是否存在专门用于获取 POST 数据的 Perl 模块?
perl - 使用 LWP 发送纯字符串请求
要从某个网站获得响应,我必须给出一个确切的请求字符串 HTTP/1.1。我尝试了那个telnet
,它给了我想要的响应(重定向,但我需要它)。
但是,当我尝试向 提供相同的请求字符串时HTTP::Request->parse()
,我只会收到消息400 URL must be absolute
。
我不确定是网站还是LWP
给了我,因为正如我所说,响应与telnet
.
这是代码:
任何人都可以在这里帮助我吗?
perl - Perl 发布请求以 base64 格式发送 zip 文件?
我有一个 Perl 脚本试图用 LWP UserAgent 模块发送一个 zip 文件
其中 $fname 是文件的路径。在服务器端,虽然我的 POST 数组似乎只有“提交”。我应该对文件进行 base64 编码并将其分配给变量吗?最好的方法是什么?