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. IntelliJ IDEA 学习(三):IntelliJ IDEA 快捷键、配置优化

    一.两种方式可以设置快捷键: 1)setting -> keymap 想找到有关Idea工具的菜单或其他功能的话,可以再这里找到对应的快捷键   2)setting -> Editor - ...

  2. firefox因 HTTP 严格传输安全(HSTS)机制无法打开网页

    1.打开about:config 2.查找: security.enterprise_roots.enabled ,默认为false,改为true就可以了 3.吐槽,firefox太极端了,这是作死.

  3. int、char、long各占多少字节数

    Java基本类型占用的字节数:1字节: byte , boolean2字节: short , char4字节: int , float8字节: long , double 编码与中文:Unicode/ ...

  4. CXCommon.h工具类

    #ifndef __XCOMMON_H__ #define __XCOMMON_H__ /******************************************************* ...

  5. CSS3背景总结

    值 描述 CSS background-color 规定要使用的背景颜色. 1 background-position 规定背景图像的位置. 1 background-size 规定背景图片的尺寸. ...

  6. [转]Device Context 设备环境 设备上下文 理解

    http://blog.csdn.net/p424671075/article/details/7235601

  7. Unix系统编程():分散输入和集中输出(Scatter-Gather IO):readv和writev

    分散输入和集中输出(Scatter-Gather IO):readv和writev 请问这个v又代表什么? readv和writev系统调用分别实现了分散输入和集中输出的功能. #include< ...

  8. C++中类所占的存储空间

    #include <iostream> using namespace std; class A { int m_a; int get() { return m_a; } virtual ...

  9. Android——区别DVM与JVM (2)

    区别DVM与JVM 1.首要差别 Dalvik: 基于寄存器,编译和运行都会更快些 JVM: 基于栈, 编译和运行都会慢些 2.字节码的区别 Dalvik: 执行.dex格式的字节码,是对.class ...

  10. Hive三种不同的数据导出的方式

    转自:http://blog.chinaunix.net/uid-27177626-id-4653808.html Hive三种不同的数据导出的方式,根据导出的地方不一样,将这些方法分为三类:(1)导 ...