点击使用PHP提交按钮

我有一个网页提交按钮,我想PHP来解析网页,并点击提交按钮,并得到响应(它可以是一个链接或其它HTML页面。)

有没有什么办法可以点击使用PHP提交按钮?

我知道有类似的HtmlUnit的Java,允许一个亲语法上填写表单字段,然后点击提交按钮。 不过,我想在PHP这样做。

谢谢

--------------解决方案-------------

卷曲将让你获得一个表单提交的结果

例如

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $urlOfFormSubmission);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(

"field1"=>"data1",
"field2"=>"data2"

));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$contents = curl_exec($ch);

你也可以做同样的事情在PHP流功能

例如

$params = array('http' => array(
'method' => "post",
'content' => array("field1"=>"data1", "field2"=>"data2")
));

$ctx = stream_context_create($params);

$fp = @fopen($urlOfFormSubmission, 'rb', false, $ctx);

if (!$fp)
{
throw new Error("Problem with ".$urlOfFormSubmission);
}

$contents = @stream_get_contents($fp);

if ($contents === false)
{
throw new Error("Problem reading data from ".$urlOfFormSubmission);
}

在这两种情况下,$内容应包含表单提交的结果

看看硒Web应用程序测试系统。

该SimpleTest的PHP库还具有网页抓取工具,可以分析一个HTML页面,并生成相应的POST请求。

phpWebHacks看起来很有希望的任务。

特征,从网站援引:

* Support HTTP/1.1
* Fetch web pages.
* Submit forms and upload files.
* Support https.
* Support HTTP cookies.
* Support HTTP redirects and Meta-refresh redirects.
* Support HTTP Authentication.
* Support proxy server.
* Support gzip encoding.
* Logging of HTTP streams for full debugging.
* Parsing HTML forms.
* Custom User-Agent.

分类:java的 时间:2013-03-14 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.906 (s). 10 q(s)