我怎样才能让从Perl的HTTP GET请求?(How can I make an HTTP GET

2019-08-17 21:31发布

我试着写我的第一个Perl程序。 如果你认为Perl是手头的任务脏话告诉我什么语言能更好地解决这个问题。

给定的机器和远程Apache服务器之间的程序测试连接。 起初程序请求从Apache服务器的目录列表,比它解析列表,并下载所有文件一个接一个。 这应该被记录,下一个文件应该被检索(达到指定的Content-Length前连接重置)是否应与文件有问题。 没有必要保存文件,甚至完整性检查,我只需要登录才能完成的时间和所有的情况下,连接重置。

要检索的Apache的生成目录索引链接列表我打算使用正则表达式相似

/href=\"([^\"]+)\"/

正则表达式还没有调试,确实如此。

什么是“参考”的方式在Perl做HTTP请求? 我用Google搜索,发现实例使用许多不同的库,其中的一些商业。 我需要的东西,可以检测断开(超时或TCP重置),并处理这些。

另一个问题。 如何存放一切,串最小的编码工作列表全球搜索时,我的正则表达式抓?

Answer 1:

至于整个问题描述得好,我会使用WWW ::机械化 。 机械化是的子类LWP::UserAgent ,增加了状态行为和HTML解析。 随着机甲,你可以做$mech->get($url_of_index_page)然后用$mech->find_all_links(criteria)选择链接可循。



Answer 2:

你有一个很多问题。 答案在您的文章标题的问题是使用LWP ::简单 。

你大多数的问题都回答perlfaq9适当指针的进一步信息。



Answer 3:

至于你的问题的正则表达式部分解析标记,不要!

http://htmlparsing.icenine.ca解释了一些的原因,你不应该这样做。 尽管什么你看似尝试分析似乎很简单,使用合适解析器。

网页上面没有联系不复存在......

http://www.cwhitener.com/htmlparsing



Answer 4:

随着越来越多笼统的回答,Perl是做HTTP请求完全正常的语言,它是另一种语言的主机。 如果你熟悉Perl,甚至不犹豫; 有提供给你所需要的许多优秀的图书馆。



文章来源: How can I make an HTTP GET request from Perl?
标签: perl http