首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

perl http模块小结

2013-04-09 
perl http模块总结perl发送http请求主要有 LWP,UserAgent, HTTP这些模块及其子模块组成?1.发送简单的http

perl http模块总结
perl发送http请求主要有 LWP,UserAgent, HTTP这些模块及其子模块组成?1.发送简单的http请求只需要使用LWP::Simple模块即可use LWP::Simple;$content = get(url); ?#返回得到的内容

getstore(url, filename);#将目标url的内容保存到filename中head($url); ? 返回5个响应头($content_type, $document_length, $modified_time, $expires, $server)?这个模块的方法只能做一些基本的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('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请求,还有一些类用于更方便的发送请求。?

?

热点排行