我正在寻找人们如何着手编写快速(小型)但灵活的 HTTP 客户端。快速我的意思是代码不多,(我会留给你来决定这意味着什么),最好使用内置语言函数而不是下载或自定义库,这样套接字编程的基本知识应该是足以理解代码的工作原理。我所说的灵活是指您应该能够轻松地操作传入的数据。我自己的版本是这样的

#!/usr/bin/perl 
use Socket; 
use HTML::Parse; 
 
socket(SOCKH, PF_INET, SOCK_STREAM, getprotobyname('tcp')) || die $!; 
connect(SOCKH,sockaddr_in(80,inet_aton('www.example.com'))) || die $!; 
 
$old_fh = select(SOCKH); 
$|=1; 
select($old_fh); 
 
print SOCKH "GET / HTTP/1.0\n\n"; 
 
while (<SOCKH>) { 
    $response .= $_; 
} 
 
print parse_html($response)->format; 
 
close(<SOCKH>); 

这只是一个快速客户端,我将很快针对 HTTP/1.1 对其进行编辑,或者如果您有关于如何改进它以实现合规性的建议,请分享!

编辑:我的代码更新,按照 Sinan Unur 的建议使用 LWP:

#!/usr/bin/perl 
use LWP::Simple; 
use HTML::Parse; 
 
$data = parse_html( get( 'www.example.com' ) )->format; 
foreach $line ( $data ) { 
    print $line; // or any other line-based operation 
} 

请您参考如下方法:

Perl 有 LWP .我建议你使用它。


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!