繁体   English   中英

如何配置WWW :: Mechanize在代理和https之后工作?

[英]How do I configure WWW::Mechanize to work behind a proxy and https?

我已经使用WWW :: Mechanize编写了Perl代码来检索网页。 当我检索http网页时,它工作正常,但不适用于https。 我已经检查过,并且拥有Crypt :: SSLeay软件包。 还有什么可能是错的?

错误消息是..

Error GETing https://www.temp.com: Can't Connect to www.temp.com:443 <Bad hostname 'www.temp.com'> at scrape.pl line 8

我在您相关的Mechanize问题中看到, 仅使用httpftp方案调用proxy方法 包含https然后重试。

设置代理环境变量可能更有用,因为这样所有程序都可以利用此中央配置,而不必分别为每个程序配置代理。 不要忘记https_proxy 调用env_proxy方法而不是proxy来使用它们。

显然,我需要在文件中添加以下内容

$ENV{'HTTPS_PROXY'} = 'http://proxy:port/';

用于Crypt :: SSLeay

如果有人偶然发现了这个老问题:近年来情况发生了变化。

  • 从版本6开始LWP使用IO :: Socket :: SSL作为后端
  • IO :: Socket :: SSL不像Crypt :: SSLeay那样提供自己的代理黑客,并且记录的LWP https代理支持(例如,使用代理方法或env_proxy)已损坏。
  • 使用LWP :: UserAgent和LWP :: Protocol :: https 6.06的版本(现在是单独的发行版!)https代理可以正常工作并记录在案
  • 对于较旧版本的LWP,可以使用Net :: SSLGlue :: LWP

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM