【perl】simpleHTTP

类似Python SimpleHTTPServer

#!/usr/bin/perl
# https://metacpan.org/pod/HTTP::Server::Simple
# https://metacpan.org/pod/distribution/CGI/lib/CGI.pod
package WebServer;

use strict;
use warnings FATAL => 'all';
use HTTP::Server::Simple::CGI;
use base qw(HTTP::Server::Simple::CGI);
use JSON;

sub handle_request {
  my $self = shift;
  my $cgi  = shift;
  my $handler = \&resp_info;

  print "HTTP/1.0 200 OK\r\n";
  print $cgi->header(
    -type    => 'application/json',
    -status  => '200',
  );
  $handler->($cgi);
}

sub resp_info {
  my $cgi  = shift;   # CGI.pm object
  return if !ref $cgi;

  # my $who = $cgi->param('name');
  my %rec_hash = (
    'path' => $cgi->path_info(),
    'method' => $cgi->request_method()
  );
  my $json = encode_json \%rec_hash;

  print $cgi->param(
    -name  => 'data',
    -value => $json,
  );
};

# start the server on port 8080
my $pid = WebServer->new(8080)->run();
# my $pid = WebServer->new(8080)->background();
# print "Use 'kill $pid' to stop server.\n";

 

 
    
posted on 2019-04-23 11:12 poorX 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/jiangxu67/p/10755247.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值