2010-09-14 96 views
0

我使用WWW :: Mechanize編寫了Perl代碼來檢索網頁。當我檢索http網頁時,它工作正常,但它不適用於https。我已經檢查過,並且擁有Crypt :: SSLeay軟件包。還有什麼可能是錯的?如何配置WWW :: Mechanize在代理和https後面工作?

的錯誤消息是..

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

顯示錯誤消息,將其添加到您的問題。 – daxim 2010-09-14 13:49:18

回答

1

很顯然,我需要添加以下在我的文件

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

的地穴:: SSLeay的

2

我在your related Mechanize question看到您只需撥打httpftp方案即可撥打proxy method。包括https再試一次。

設置proxy environment variables可能更有用,因爲所有程序都可以利用此中央配置,而不是分別爲每個程序配置代理。不要忘記https_proxy。撥打env_proxy method而不是proxy即可使用它們。

+0

設置https_proxy用於登錄。但它給出錯誤獲取儀表板頁面,這又是https://temp.com/dashboard – aks 2010-09-14 14:41:11

+0

Infact我得到這個錯誤的任何'獲取'的ssl頁面。 – aks 2010-09-14 14:43:51

0

如果有人絆倒了這個老問題:近年來情況發生了變化。

  • 開始第6版LWP採用IO ::插座:: SSL作爲後端
  • IO ::插座:: SSL不提供自己的代理黑客就像地穴:: SSLeay的不和LWP HTTPS代理支持(如使用代理方法或env_proxy)被破壞。
  • 與版本6.06的LWP :: UserAgent和LWP :: Protocol :: https(現在是單獨的分佈!)https代理按預期方式工作和記錄
  • 舊版本的LWP可以使用Net :: SSLGlue :: LWP
相關問題