簡體   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