libwww-perl是我在学习varnish的时候遇到的一个工具。

具体libwww-perl是干什么的,可以参考官网https://github.com/libwww-perl/libwww-perl

README中有详细的解释。

这篇随笔不是为了详细说明这个lib怎么使用,而是记录下在使用POST方法的时候遇到的问题,以及相应的解决思路(备忘)。

问题

在输入POST -Use http://192.168.0.101/signin后,需要输入post的参数和值,但是输完后,点击回车以及其它各种各样的操作都不能继续执行。

只有Ctrl+C可以退出程序,但这没办法得到自己想要的执行结果。

解决办法

第一步,上网搜,搜各种libwww-perl, POST相关的信息。

但没有获得相关的解决办法(也可能是我搜的不够仔细),不过获得了几条有用的信息:

1. libwww-perl是perl语言写的;

2. 源代码地址https://github.com/libwww-perl/libwww-perl

3. POST方法属于lwp-request module

第二步,既然找不到解决办法,那就利用上面的信息自己找吧。

1. 首先根据第一步中的2和3,以及在运行POST方法时,显示的输出,获得POST方法的源代码

在https://github.com/libwww-perl/libwww-perl/blob/master/bin/lwp-request文件中

    print STDERR "Please enter content ($options{'c'}) to be ${method}ed:\n"
if -t;
binmode STDIN unless -t or $options{'a'};
$content = join("", <STDIN>);

2. 从上面知道原来是卡在perl的STDIN上了,问题变成了:不知道怎么退出perl程序的STDIN

3. 继续上网搜,原来Ctrl+D 和Ctrl+Z可以退出perl程序的STDIN (不懂perl语言惹的祸啊。)

第三步,继续进行自己下面的工作。

总结

整个问题最终是由于一个很小的知识点引起的,这个真的是没办法,自己学的少了。

不过通过这个问题,了解了libwww-perl这个工具,已经perl的一些知识点,感觉还是很不错。

[libwww-perl]——POST方法的使用的更多相关文章

  1. 【转载】Perl异常处理方法总结

    程序脚本在运行过程中,总会碰到这样那样的问题,我们会预知一些问题并为其准备好处理代码,而有一些不能预知.好的程序要能尽可能多的处理可能出现的异常问题,本文就总结了一些方法来解决这些异常,当然perl在 ...

  2. perl 调用方法 子例程说明

    Perl does not provide any special syntax for class definitions Perl 不提供任何特殊的语法对于类的定义 A package is si ...

  3. Perl入门 - Perl方法的使用

    1.定义一个方法 Perl使用sub定义方法. 语法: sub 方法名称{方法体} 2.调用一个方法 Perl直接使用方法名称调用方法. 调用方式有以下四种: 方法名称: &方法名称: 方法名 ...

  4. Ruby 方法

    Ruby 方法 Ruby 方法与其他编程语言中的函数类似.Ruby 方法用于捆绑一个或多个重复的语句到一个单元中. 方法名应以小写字母开头.如果您以大写字母作为方法名的开头,Ruby 可能会把它当作常 ...

  5. Perl 的面向对象编程

    转自 http://net.pku.edu.cn/~yhf/tutorial/perl/perl_13.html 拓展阅读 http://bbs.chinaunix.net/forum.php?mod ...

  6. Ruby方法

    Ruby 方法 Ruby 方法与其他编程语言中的函数类似.Ruby 方法用于捆绑一个或多个重复的语句到一个单元中. 方法名应以小写字母开头.如果您以大写字母作为方法名的开头,Ruby 可能会把它当作常 ...

  7. perl 一个简单的面向对象的例子

    <pre name="code" class="python">[root@wx03 wx]# cat x1.pm package x1; use ...

  8. perl5 第十三章 Perl的面向对象编程

    第十三章 Perl的面向对象编程 by flamephoenix 一.模块简介二.Perl中的类三.创建类四.构造函数 实例变量 五.方法六.方法的输出七.方法的调用八.重载九.析构函数十.继承十一. ...

  9. Perl面向对象(2):对象

    本系列: Perl面向对象(1):从代码复用开始 Perl面向对象(2):对象 Perl面向对象(3):解构--对象销毁 第3篇依赖于第2篇,第2篇依赖于1篇. 已有的代码结构 现在有父类Animal ...

  10. Perl 学习笔记-标量数据

    最近学习Perl, 准备看一遍入门指南,关键的东西还是记录下来,以便以后复习和查看参考. 笔记来自<<Perl语言入门第5版>> 1. 在Perl内部,不区分整数值和浮点数值, ...

随机推荐

  1. MySQL Subquery

    Summary: in this tutorial, we will show you how to use the MySQL subquery to write complex queries a ...

  2. [转]C#如何判断操作系统位数是32位还是64位

    方法一: 对于C#来说,调用WMI是一种简单易行的方式.我们可以用Win32_Processor类里面的AddressWidth属性来表示系统的位宽.AddressWidth的值受CPU和操作系统的双 ...

  3. Redis(八):spring data redis 理解

    前言 Spring Data Redis project,应用了Spring概念来开发使用键值形式的数据存储的解决方案.我们(官方)提供了一个 "template" ,这是一个高级 ...

  4. swift 单例模式

    class ca{ ; static var instance:ca = ca(); class func GetInstance()->ca{ return instance; } } var ...

  5. angular关于表单指令的汇总

  6. zend server mac 下配置

    Post Installation on Mac OS X If you intend to use PHP and other tools provided by Zend Server (pear ...

  7. 微博excel数据清洗(Java版)

    微博数据清洗(Java版) 原创 2013年12月10日 10:58:24 2979 大数据公益大学提供的一份数据,义务处理一下,原始数据是Excel,含有html标签,如下:   要求清洗掉html ...

  8. 回车替换Tab 并不会 提交表单 IE Chrome 通过

    网上一堆可以回车替换tab的代码,可是基本都忽略谷歌浏览器的兼容性,找了3个小时 试了无数遍,终于总结出这一段代码,希望能帮到需要的同学,也给自己留个备忘        document.onkeyd ...

  9. 向服务器发送josn字符串,服务器端解析

    <script type="text/javascript"> $(function () { $("#btnsave").click(functi ...

  10. jquery库实现iframe自适应内容高度和宽度

    javascript原生和jquery库实现iframe自适应内容高度和宽度---推荐使用jQuery的代码! ‍<iframe src="index.php" id=&qu ...