当前位置:  开发笔记 > 编程语言 > 正文

是否有与Perl的WWW :: Mechanize相当的PHP?

如何解决《是否有与Perl的WWW::Mechanize相当的PHP?》经验,为你挑选了1个好方法。

我正在寻找一个功能类似于Perl的WWW :: Mechanize的库,但是对于PHP.基本上,它应该允许我使用简单的语法提交HTTP GET和POST请求,然后解析生成的页面并以简单的格式返回所有表单及其字段,以及页面上的所有链接.

我知道CURL,但它有点过于简单,而且语法非常难看(大量的curl_foo($curl_handle, ...)陈述

澄清:

到目前为止,我想要比答案更高级的东西.例如,在Perl中,您可以执行以下操作:

# navigate to the main page
$mech->get( 'http://www.somesite.com/' ); 

# follow a link that contains the text 'download this'
$mech->follow_link( text_regex => qr/download this/i );

# submit a POST form, to log into the site
$mech->submit_form(
    with_fields      => {
        username    => 'mungo',
        password    => 'lost-and-alone',
    }
);

# save the results as a file
$mech->save_content('somefile.zip');

要使用HTTP_Client或wget或CURL做同样的事情会有很多工作,我必须手动解析页面以查找链接,找到表单URL,提取所有隐藏字段,等等.我要求PHP解决方案的原因是我没有使用Perl的经验,而且我可以用很多工作构建我需要的东西,但如果我能在PHP中完成上述操作会更快.



1> troelskn..:

SimpleTest的ScriptableBrowser可以在测试框架中独立使用.我已将它用于众多自动化作业.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有