• Perl LWP::Simple 提供的方法


    <pre name="code" class="sql"><pre name="code" class="sql"> get($url)
              The get() function will fetch the document identified by the given URL and return it.  It returns "undef" if it fails.  The $url argument can be either a simple string 
    
    or a reference to a URI object.
    
              You will not be able to examine the response code or response headers (like ’Content-Type’) when you are accessing the web using this function.  If you need that 
    
    information you should use the full OO
              interface (see LWP::UserAgent).
    
    
    get() 函数会获取给定的URL 的内容, 它返回"undef"如果失败的话, $url 参数可以使一个简单的字符串 或者是一个URL 对象的引用
    
    
    你不能校验 响应码 或者响应header(like ’Content-Type’),当你接收web使用这个函数的时候,如果你需要这些信息 你需要使用( LWP::UserAgent).
    
    [root@dr-mysql01 test]# cat e1.pl 
    use LWP::Simple;
    $a=get('http://zjcap.cn');
    print "$a is $a
    ";
    
    
    head($url)
            
    Get document headers. Returns the following 5 values if successful: ($content_type, $document_length, $modified_time, $expires, $server)
    
              
    Returns an empty list if it fails.  In scalar context returns TRUE if successful.
    
    
    
    得到document 的headers. ,返回 5个值如果称为的话  ($content_type, $document_length, $modified_time, $expires, $server)
    
    取网页返回header 响应header,响应头信息
    
    如果失败返回一个空的列表
    [root@dr-mysql01 test]# cat e2.pl 
     use LWP::Simple;
            @content = head("http://www.zjcap.cn/");
            die "Couldn't get it!" unless defined @content;
            print "@content is @content
    ";
    [root@dr-mysql01 test]# perl e2.pl 
    @content is text/html 27140 1436499350  nginx/1.7.7
    
    
    
    getprint($url)
    
    Get and print a document identified by a URL. The document is printed to the selected default filehandle for output (normally STDOUT) as data is received from the network.  If 
    
    the request fails, then the
    status code and message are printed on STDERR.  The return value is the HTTP response code.
    
    
    get和打印 URL 的document, dodument输出到标准输出, 如果请求失败, 会返回状态code到错误输出 返回值是 响应码
    
    
    </body>
    </html>@content is 200
    [root@dr-mysql01 test]# cat e3.pl 
     use LWP::Simple;
            @content = getprint("http://www.zjcap.cn/");
            die "Couldn't get it!" unless defined @content;
            print "@content is @content
    ";
    
    
    [root@dr-mysql01 test]# perl e3.pl 
    500 Can't connect to www.zjcap1.cn:80 (connect: Connection timed out) <URL:http://www.zjcap1.cn/>
    @content is 500
    You have mail in /var/spool/mail/root
    
    
    
    
    
    返回状态码:
    
    [root@master test]# cat 1.pl 
     use LWP::Simple;
    my $code = getstore('http://zjcap.cn','a.txt');
    print "$code is $code
    ";
    
    [root@master test]# perl 1.pl 
    $code is 200
    
    
    
    根据返回码判断:
    
    [root@master test]# cat 1.pl 
     use LWP::Simple;
    my $code = getstore('http://zjcap.cn','a.txt');
    print "$code is $code
    ";
    if (is_success($code)){print "can open
    "}
    else{print "error
    "};
    [root@master test]# perl 1.pl 
    $code is 200
    can open
    [root@master test]# vi 1.pl 
    [root@master test]# cat 1.pl 
     use LWP::Simple;
    my $code = getstore('http://zjcap.cn1','a.txt');
    print "$code is $code
    ";
    if (is_success($code)){print "can open
    "}
    else{print "error
    "};
    [root@master test]# perl 1.pl 
    $code is 500
    error
    


    
    
    
                                        
    
  • 相关阅读:
    Charles抓https请求详细步骤
    【转载】http proxy原理
    Mac使用笔记大全
    Android自动化之Monkey测试(二)
    Android自动化之Monkey环境搭建(一)
    解决删除镜像时image is referenced in multiple repositories
    SQL Injection-Http请求的参数中对特殊字符的处理
    Python 同一文件中,有unittest不执行“if __name__ == '__main__”,不生成HTMLTestRunner测试报告的解决方案
    Spring Boot-右键maven build成功但是直接运行main方法出错的解决方案
    maven+ssm项目环境搭建后测试404
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351537.html
Copyright © 2020-2023  润新知