perl动态监测文件并模拟http post提交

perl中有种格式叫散列。因为我的文件名和文件路径是动态生成的。所以需要用散列。用字符串变量是不行的。

首先我检测我某个目录下面的所有文件。然后放到散列里面去。

my $dir = "C:/SmartPrinter";


opendir DH, $dir or die "Cannot open $dir: $!";
my $i=0;
my %fruit;#散列
foreach $file (readdir DH) {
    $i++;
  if($file=~/\.tif$/g){
     my $needfile = $dir."/".$file;#组装文件绝对路径
      $fruit{"faxfile$i"} = ["$needfile"];
  }
 
   }
closedir DH;

 然后模拟http post提交。提交的文件内容直接把散列变量放上去就可以了。

print %fruit ;
my $url = "http://localhost:8086/shortWave/telegraph/telegraphFax.htm?do=getFaxTelegraph";
my $ua  = LWP::UserAgent->new();
$ua->timeout(30);#超时。单位 秒
my $req = POST $url,Content_Type=>'form-data',
 Content => [
  submit=>1,
  %fruit,#这里就是所有提交的文件。
  status=>1
 ];
my $response = $ua->request($req);

if ($response->is_success()) {
    print "success";
    exit;
} else {
    print "fail";
    exit;
}

 这个问题测试了好些时间。之前一直用字符串变量是不行的。记得用散列。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值