【问题标题】:Perl LWP does not workPerl LWP 不工作
【发布时间】:2012-01-25 17:38:42
【问题描述】:

我在 Windows 7 Pro 上使用 Padre 作为我的 IDE 和 Strawberry Perl。

我正在尝试创建一个 perl 脚本,该脚本会转到网站上的文本文件,然后读取/复制该文本文件。

但即使是最简单的 LWP 命令,我也无法让 LWP 工作。

#!/usr/bin/perl
   use strict;
   use warnings;
   use LWP::Simple;

   getprint('http://www.perlmeme.org') or die 'Unable to get page';

   exit 0;

我不断收到此错误消息: 500 无法连接到 proxy.sn.no:8001(错误的主机名) 例如 500 无法连接到(错误主机名)http://www.perlmeme.org

我一直在谷歌搜索,使用 Microsoft Fixit 重置端口等,但我仍然无法使其工作。 http//www.justskins.com/forums/lwp-connect-failing-bad-119421.html

有人可以帮我吗?卡了好几个小时:(

编辑:

--1 foreach my $key (keys %ENV) { print "$key: $ENV{$key}\n" if $key =~ m/proxy/i; }

是的,它会打印出 FTP_PROXY 和 HTTP_PROXY,然后是:http://proxy.sn.no:8001/

这是我从这个帮助线程How do I install a module? Strawberry Perl issues得到的代理

我遇到了代理问题,然后我尝试了该线程的配置,然后代理问题仍然存在。

--2 我不希望在我的终端或任何东西上使用任何代理。只想将 perl 脚本连接到网站以检索文本文档。

--3 ping 丢失 0%。 (我只能在这篇文章中发布两个超链接)

--4 我使用的是 Windows。

【问题讨论】:

  • foreach my $key (keys %ENV) { print "$key: $ENV{$key}\n" if $key =~ m/proxy/i; } 是否打印任何内容? (我问是因为 LWP::Simple 被记录为从名为 *_proxy 之类的环境变量中获取其代理设置。)
  • 您是否希望在您的终端使用代理?目前尚不清楚您的问题是您使用了不应该使用的代理,还是您在连接到您应该使用的代理时遇到问题。
  • 试试ping www.perlmeme.org看看你是否能连接到那个服务器。

标签: perl lwp


【解决方案1】:

LWP 将遵循 http_proxy 环境变量并尝试将其用作 HTTP 代理。在 Unix 上使用 env | grep http_proxy 检查。

【讨论】:

  • @JohnTan 您正在使用代理,但它已损坏。把它关掉。如果您被困在防火墙后面,请寻找新的代理或与您的防火墙管理员联系以允许您需要的连接。
  • 如何关闭代理?我正在使用 ZoneAlarm 防火墙,但我已经从任务栏(靠近音量的区域)关闭了它。我是这台电脑的唯一用户。
  • 取消设置 HTTP_PROXY 和 FTP_PROXY 环境变量!
  • 我在 cmd 行中输入了 unset http_proxy 并收到此错误消息:'unset' 不是内部或外部命令、可运行程序或批处理文件。
  • @JohnTan 我不太了解在 Windows 上管理环境变量。你必须做一些谷歌搜索和阅读,或者在 superuser.com 上提问。 support.microsoft.com/kb/310519 是一个开始。
猜你喜欢
  • 2015-04-15
  • 1970-01-01
  • 2011-06-25
  • 2013-12-20
  • 2012-09-30
  • 1970-01-01
  • 2012-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多