libwww-perl是我在学习varnish的时候遇到的一个工具。git
具体libwww-perl是干什么的,能够参考官网https://github.com/libwww-perl/libwww-perl。github
README中有详细的解释。less
这篇随笔不是为了详细说明这个lib怎么使用,而是记录下在使用POST方法的时候遇到的问题,以及相应的解决思路(备忘)。工具
在输入POST -Use http://192.168.0.101/signin后,须要输入post的参数和值,可是输完后,点击回车以及其它各类各样的操做都不能继续执行。post
只有Ctrl+C能够退出程序,但这没办法获得本身想要的执行结果。学习
第一步,上网搜,搜各类libwww-perl, POST相关的信息。spa
但没有得到相关的解决办法(也多是我搜的不够仔细),不过得到了几条有用的信息:code
1. libwww-perl是perl语言写的;blog
2. 源代码地址https://github.com/libwww-perl/libwww-perlget
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的一些知识点,感受仍是很不错。