• [libwww-perl]——POST方法的使用


    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:
    "
            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的一些知识点,感觉还是很不错。

  • 相关阅读:
    MyString
    Django疑难问题
    mysql 疑难问题-django
    python时间转换 ticks-FYI
    django建议入门-FYI
    Python风格规范-FYI
    scrum敏捷开发☞
    git基本命令
    centos下的安装mysql,jdk
    memcached for .net on windows
  • 原文地址:https://www.cnblogs.com/lemonbar/p/3938524.html
Copyright © 2020-2023  润新知