[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:\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的一些知識點,感覺還是很不錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM