Perl模块的手动安装
2009-11-21 16:52
211 查看
在其他论坛看了很多关于Perl模块的安装,其实有时候很容易出现安装失败。
尤其是在WINDOWS上,比如可以使用CPAN,PPM等工具方式。在命令行
中输入CPAN, 弹出CPAN> ,然后可以输入INSTALL 模块名,比如我要安装LWP::UserAgent::ProxyAny
输入install LWP::UserAgent::ProxyAny,可是经常会有错误,这个方式非常麻烦。于是exit;转到PPM,
输入PPM,是可以弹出PPM的工具栏,但是出现错误的几率也很大,而且反应比较慢。怎么办呢?
上面的一个模块是用来进行代理服务器设置的,比如有些网站,在国内被禁用了,我们可以通过一些国外的代理服务器,
进行访问,这个方法会比较容易。
怎么做呢?很简单,在http://search.cpan.org上搜索ProxyAny,
下载LWP-UserAgent-ProxyAny-1.02.tar.gz,
解压缩后,有8个文件。
对于网络上的说法,如果在WINDOWS下,你需要先安装make.exe,放入到system32目录下,可以执行。然后make,
接着make test,有些模块就可以成功了。但是这一模块上面的两种方式都失败。
我发现了一个非常简单的方法,上面模块的意思是在LWP目录下,找UserAgent子目录,然后在这一子目录下找到ProxyAny.pm文件,
我们就可以在相应的位置直接建立需要的目录UserAgent,然后在这个文件夹下把ProxyAny.pm复制到这里,接着测试代码,发现可以
使用了。是不是很方便?
代码如下:
可以把地址修改下,就可以使用代理上网了。
上面是得到相应地址的源代码,进行数据抓取。
上面的Perl脚本,还是不完善,其实不用专门设置代理,只要有$ua->env_proxy这句,表示使用代理,似乎就可以直接访问了,太方便了。
尤其是在WINDOWS上,比如可以使用CPAN,PPM等工具方式。在命令行
中输入CPAN, 弹出CPAN> ,然后可以输入INSTALL 模块名,比如我要安装LWP::UserAgent::ProxyAny
输入install LWP::UserAgent::ProxyAny,可是经常会有错误,这个方式非常麻烦。于是exit;转到PPM,
输入PPM,是可以弹出PPM的工具栏,但是出现错误的几率也很大,而且反应比较慢。怎么办呢?
上面的一个模块是用来进行代理服务器设置的,比如有些网站,在国内被禁用了,我们可以通过一些国外的代理服务器,
进行访问,这个方法会比较容易。
怎么做呢?很简单,在http://search.cpan.org上搜索ProxyAny,
下载LWP-UserAgent-ProxyAny-1.02.tar.gz,
解压缩后,有8个文件。
对于网络上的说法,如果在WINDOWS下,你需要先安装make.exe,放入到system32目录下,可以执行。然后make,
接着make test,有些模块就可以成功了。但是这一模块上面的两种方式都失败。
我发现了一个非常简单的方法,上面模块的意思是在LWP目录下,找UserAgent子目录,然后在这一子目录下找到ProxyAny.pm文件,
我们就可以在相应的位置直接建立需要的目录UserAgent,然后在这个文件夹下把ProxyAny.pm复制到这里,接着测试代码,发现可以
使用了。是不是很方便?
代码如下:
#! perl #LWP::UserAgent::ProxyAny - A LWP UserAgent supports both HTTP_PROXY and IE proxy use LWP::UserAgent::ProxyAny; open(PROXY,"<F:/freeProxy1.txt") or die $!; #freeProxy1.txt文件里面是类似24.98.120.7:8085这样的代理地址列表。 my $ua = LWP::UserAgent::ProxyAny->new; $ua->env_proxy; my $response = $ua->get('http://www.ncbi.nlm.nih.gov/pubmed'); while(<PROXY>){ $proxy = $_.""; $ua->set_proxy_by_name($proxy); if($response->is_success){ print "有效的IP代理为:".$_."/n"; print $response->content; #or whatever }else{ print "无效的IP代理为:".$_; # die $response->status_line; } $ua->set_proxy_by_name("No"); } # $ua->set_proxy_by_name("24.98.120.7:8085"); # print $response->content; # or set proxy by specified name close PROXY;
可以把地址修改下,就可以使用代理上网了。
上面是得到相应地址的源代码,进行数据抓取。
上面的Perl脚本,还是不完善,其实不用专门设置代理,只要有$ua->env_proxy这句,表示使用代理,似乎就可以直接访问了,太方便了。
![](file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot.png)
相关文章推荐
- Windows上如何手动安装Perl模块(ActivePerl)
- perl手动安装模块
- perl LWP 模块安装以及抓取xml内容
- Solaris 下安装Perl的DBD-mysql模块失败的原因以及解决办法
- 各种平台下Perl模块的安装方法
- Linux下perl模块的安装
- 安装perl的CPAN模块整理
- windows系统中安装perl模块(package)的几种方法
- cpanm perl模块自动安装
- Perl中模块安装方法
- 各种平台下Perl模块的安装方法完全版
- bugzilla更新出现perl模块无法安装问题解决办法 推荐
- perl 模块安装(linux | windows)
- 使用cpanm安装perl相关模块
- Perl模块的安装(以Encode::JP::Emoji为例)
- perl cpan 模块安装
- cpanm安装及Perl模块安装教程
- Linux/Unix下安装Perl模块有两种方法
- perl 无法 install 模块解决办法 :初始化perl模块安装环境
- 各种平台下Perl模块的安装方法