我正在寻找具有与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中完成上述工作,那将会更快。
拉莫斯之舞
凤凰求蛊