问题标签 [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.
perl - HTTP 请求不通过代理
我已经编写了这段代码来通过代理触发 http 请求。但是请求似乎没有使用代理。即使我提供了错误的代理,它也会返回正常。
有什么方法可以检查 HTTP 请求是否通过代理?这段代码有什么问题使它不使用代理?
perl - 如何下载`decoded_content`
***更新后的代码,具有恢复功能* *
** * ** * **旧代码* ** * ** * ** * ** * ** * *
由于我是 perl 的新手,可以下载decoded_content
,但仍然存在一些错误。如果我们有部分文件,需要恢复文件下载。
这是我尝试过的代码,但不知道从哪里开始,因此在这方面的任何快速想法确实会有很大帮助。请帮助解决这个问题。
multithreading - 如何在线程之间共享 LWP::UserAgent 对象
是否可以创建可用于不同线程中的 HTTP 请求的共享 LWP::UserAgent 对象?
perl - LWP 设置了 max_size 但仍然获取内容
我正在使用 LWP 从某些站点获取内容,每当页面大小大于 1 兆字节时,我希望 LWP 停止下载页面。这是通过以下代码完成的:
它工作正常。唯一的问题是,即使页面超过 1mb,我仍然希望能够获得到目前为止下载的内容。但是,每当我这样做时(在没有错误时使用 LWP 获取内容的传统方式):
它似乎不是实际页面的内容,而是一堆废话。有谁知道设置 max_size 的方法,并且仍然可以在 LWP 甚至 WWW::Mechanize 达到限制之前下载任何内容?非常感谢!
perl - 有效处理 lwp 超时
我正在使用 LWP 从网页下载内容,我想限制它等待页面的时间。这是在 lwp 中完成的,如下所示:
这很好用,除了超时达到其限制时,它就死了,我无法继续使用脚本!我真的很想正确处理这个超时,以便我可以记录 url 有一个超时,然后继续我的下一个。有谁知道如何做到这一点?谢谢!
perl - perl WWW::Mechanize 设置最大大小并仍然获取内容
所以我使用 WWW::Mechanize 来获取页面的内容,并且我想设置一个最大尺寸。此外,如果达到最大尺寸,我想获取到目前为止已获取的内容。我知道在 LWP 中你可以这样做:
现在,即使已达到 1024 字节,$ua->content
仍将保存直到该点为止的可读内容。WWW::Mechanize 是 LWP 的一个子类,所以你可以用基本相同的方式来设置它:
然后您会认为,由于 WWW::Mechanize 是 LWP::UserAgent 的子类,$mech->content
因此会保存检索到的内容,直到大小达到 1024 字节。但是,每当我运行它并达到最大大小时,我都会从我的 WWW::Mechanize 对象中获取如下所示的内容:
有谁知道我怎样才能让 WWW::Mechanize 像它的超类 LWP::UserAgent 那样实际输出可读的东西?我喜欢 WWW::Mechanize 提供的一些附加功能,所以如果可能的话,我希望能够继续使用它,而不是仅仅为此切换到 LWP。谢谢!
perl - 从 Mojolicious 用户代理响应中提取 cookie
我开始使用 Mojolicious 库进行测试,一切正常,直到我尝试从响应中提取 cookie。
我尝试了以下几种变体:
但是,我可以通过 LWP::UserAgent 提取 cookie。但是,LWP 有几个不同的问题,使该选项目前不可行。只是为了比较,这里是提取 cookie 的 LWP 代码。
所以我知道我的 $url 等是正确的。
编辑:我应该提到我正在使用草莓 5.14
Edit2:我还应该提到,cookie 肯定会进入用户代理,因为会话 ID 得到了正确处理。不幸的是,我需要访问另一个 cookie(用于测试站点),我似乎无法获得正确的咒语来访问它们......说我相信这是一个程序员问题,仅此而已.
perl - Perl UTF8 编码错误。LWP::UserAgent->decoded_content 或 Encode::decode 都不起作用。其他想法?
尝试使用 LWP::Useragent 和 Encode 进行字符编码从网页中拉回全局地址时,我在 perl 中遇到编码问题。我试过谷歌搜索解决方案,但似乎没有任何效果。我正在使用草莓 Perl 5.12.3。
以美国驻捷克大使馆地址页面为例(http://prague.usembassy.gov/contact.html)。我想要的只是拉回地址:
地址:Tržiště 15 118 01 Praha 1 - Malá Strana 捷克共和国
哪个 firefox 使用与网页标题字符集相同的字符编码 UTF-8 正确显示。但是,当我尝试使用 perl 将其拉回并将其写入文件时,尽管在 Useragent 或 Encode::decode 中使用了 decoded_content,但编码看起来还是一团糟。
我尝试在数据上使用正则表达式来检查错误不是在打印数据时(即在 perl 中内部正确),但错误似乎在于 perl 如何处理编码。
这是我的代码:
这是终端的输出:
内容类型:UTF-8 未解码内容::
Tr├à┬╛išt├ä┬¢ 15
118 01 Praha 1 - Malá Strana
捷克共和国 解码内容::
Tr┼╛išt─¢ 15
118 01 Praha 1 - Malá Strana
捷克共和国编码::解码内容::
Tr┼╛išt─¢ 15
118 01 Praha 1 - Malá Strana
捷克共和国 双解码内容::Tr┼╛išt─¢ 15
118 01 Praha 1 - Malá StranaCzech Republic AMPERSAND 在未解码内容中发现-在解码内容中发现可能的编码错误和符号 - 在编码::解码内容中发现可能的编码错误和符号 - 在双重解码的内容中发现可能的编码错误和符号 - 可能是编码错误
和文件(注意这与终端略有不同但不正确)。OK WOW-这在堆栈溢出中显示为正确,但在 Bluefish、LibreOffice、Excel、Word 或我计算机上的任何其他内容中显示为正确。所以数据在那里只是被错误地编码。我真的不明白发生了什么事。
内容类型:UTF-8 未解码内容::
TržištÄ 15
118 01 Praha 1 - Malá Strana
Czech Republic DECODED CONTENT::
Tržiště 15
118 01 Praha 1 - Malá Strana
Czech Republic ENCODE::DECODED CONTENT::
Tržiště 15
118 01 Praha 1 - Malá Strana
捷克共和国双解码内容::Tržiště 15
118 01 Praha 1 - Malá StranaCzech Republic 在未解码的内容中发现 & 符号 - 可能在解码内容中发现 & 符号 - 可能是编码错误 & 在编码中发现::解码内容 - 可能是编码错误在双重解码内容中发现 & 符号 - 可能存在编码错误
任何如何做到这一点的指针都非常感激。
谢谢,伊恩/蒙特克里斯托
perl - 通过 cookie 名称从 cookie_jar 中提取 cookie
我正在努力解决的是为什么 LWP::UserAgent 不提供访问器,这样我就可以通过提供 cookie 的名称来获取 cookie_jar 中关于 cookie 的所有信息。我意识到 cookie_jar 上有 scan() 方法,但是为如此基本的东西提供回调似乎有很多开销。这就是我现在所拥有的:
脚本的输出是这样的:
因此,这使我可以轻松地通过名称访问 cookie,但我想知道是否有更简单的方法可以做到这一点,或者是否有一个我不知道的有用模块。
perl - 如何从http响应中获取301/302网站重定向位置并关注?
我一直在尝试使用perl Mechanize ( WWW::Mechanize ) 从 http 响应中获取 301/302 重定向位置,但是在使用 response->header 等从响应中提取它时遇到了问题。
任何人都可以帮助从使用 301 或 302 重定向的网站的 http 响应中提取重定向位置吗?
一旦我有了这个重定向位置 URL,我就知道我想做什么以及如何做,因为我之前用 Mechanize 做过更复杂的事情,但我只是在获取位置(或任何其他响应字段)时遇到了真正的问题http响应。
非常感谢您的帮助,非常感谢,CM