我有一個網頁提交按鈕,我想php解析網頁,並單擊提交按鈕,並獲得響應(它可以是一個鏈接或另一個HTML頁面。)點擊提交按鈕使用PHP
有什麼辦法可以點擊使用PHP提交按鈕?
我知道有類似java的htmlunit,它允許用戶在語法上填充表單域並單擊提交按鈕。但我想在php中做同樣的事情。
感謝
我有一個網頁提交按鈕,我想php解析網頁,並單擊提交按鈕,並獲得響應(它可以是一個鏈接或另一個HTML頁面。)點擊提交按鈕使用PHP
有什麼辦法可以點擊使用PHP提交按鈕?
我知道有類似java的htmlunit,它允許用戶在語法上填充表單域並單擊提交按鈕。但我想在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);
}
在這兩種情況下,$內容應包含表單提交
看看Selenium 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.
嗨, 的結果如果點擊後網頁提交按鈕被重定向到webpage_1然後,該內容將這個節目?網頁內容或網頁1的內容? 我也會試一試。 – user244724 2010-01-07 11:05:19