perl发送http请求主要有 LWP,UserAgent, HTTP这些模块及其子模块组成
1.发送简单的http请求
只需要使用LWP::Simple模块即可
use LWP::Simple;
$content = get(url); #返回得到的内容
这个模块的方法只能做一些基本的http请求操作,比如只能发送get请求,获取不到响应的详细信息
2.发送通用的http请求
这里用到3个主要的类
LWP::UserAgent, HTTP::Request, HTTP::Response,
需要注意的是 后面2个类继承HTTP::Headers和 HTTP::Message, HTTP::Headers 提供了添加请求头,获取响应头的方法。 HTTP::Message提供了content方法,对于request对象,如果request是post请求,则该方法会设置http的请求内容; 对于response对象该方法会返回http响应的内容
标准的请求过程
$response = $ua->request($request);
在执行此方法之前可以对request对象进行设置, 方法执行完后
可以从response对象中获取内容,响应头等
UserAgent可以设置一些s全局选项, 比如timeout,max_redirect
下面是一个完整的例子
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Response;
$ua = LWP::UserAgent->new(timeout=>180);
$request = HTTP::Request->new('POST'=>"http://mysite.com?name=john");
$request ->content_type('application/x-www-form-urlencoded');#post 必须有这句
$request->content('age=18');#post 请求参数
$request->header('Accept-Language', 'zh-CN,zh;q=0.8');
$response = $ua->request($request);
print $response->content();
print $response->status_line();
print $response->header('Content-Type');
总结:
通过使用 LWP::UserAgent, HTTP::Request, HTTP::Response, 这三个类可以满足发起大多数http请求,
还有一些类用于更方便的发送请求。
相关推荐
和很多 Perl 的模块一样。每一个 LWP 模块都自带详细的文档,做为对这个模块的完整介绍。可是面对 LWP 里的众多模块,有时候即使是完成最简单的工作,新手们也常常不知道从那里开始。 要对 LWP 做全面的介绍需要一...
干净的删除卸载单个perl模块,remove or uninstall perl module。
mod_perl Apache的Perl模块
bugzilla 3.2.2所需要的perl模块
perl模块介绍,主要讲述perl的各个模块的使用
perl连接手机发短信模块,手机必须支持at命令
perl eclipse 插件 与 模块
列举了的常用的Perl模块的使用方法,供大家参考。
Linux上安装Perl模块方法介绍,前提是要有root权限,否则只能自己下载perl模块自己解压安装了。 首次使用需要perl -MCPAN -e shell,以后只需要cpan即可 安装只有两个步骤,查询或者安装
perl 的CGI模块。在linux下解压,之后进入解压模块,先运行命令:perl Makefile.pl ,之后产生Makefile,然后运行 make ,make test. 之后运行make isntall.
安装bugzilla-3.0.2所需要的离线Perl模块安装包
在Perl下编写CGI程序的扩展模块
安装bugzilla4.2.2时需要的perl模块;只需要把下载包解压,替换perl/site目录即包含了安装bugzilla4.2.2需要的全部模块
PERL编译器,C调试器,可以用来帮助PERL用词户,对下载PERL模块进行编译工具。
This zip contains perl modules that bugzilla required. Extract the zip and use 'install_ppms.pl' to install all modules automatically if you have install Perl already. Modules list: 1: 1_CGI.pm 2: 2...
helpers, 用于Perl模块的Travis CI测试 helper ( 非正式) Perl MODULE travis-ci-helper这是一套实用工具,旨在帮助测试 travis-ci上的模块。 如果请求的版本不存在,它将自动生成 perl 。虽然 travis ci提供了perl...
Windows 下安装Perl模块的方法讨论 手动编译方式 优点:通吃所有模块 缺点:有点麻烦 具体步骤:1安装编译器2设置编译器的环境变量3可能安装dmake 具体方法:如下 1.首先要有个c编译器2.编译步骤,在cpan上下载需要的...
perl下的Pdk模块编译perl程序的方法 生成EXE文件,而不再是一个单独的源代码文件的TXT格式
perl 模块(spreadsheet、XML::Simple、DBB::mysql等模块) perl 模块(spreadsheet、XML::Simple、DBB::mysql等模块)