在网页上执行操作并将结果存储在php中

时间:2012-06-13 14:32:47

标签: php browser curl httprequest

cURL可以请求一个URL并存储所请求的页面......但是我想知道...... PHP实际上可以在网页上执行操作(比如填写并提交表单)并存储有关所请求页面的信息?

2 个答案:

答案 0 :(得分:1)

您可以使用cURL执行POST,HEAD,PUT,DELETE以及您可以想象的任何其他HTTP操作。这模拟了大多数在线提交的表格。当您使用cURL能够使用cookie文件并伪造用户代理时,您可以伪造浏览器。

curl_setopt上查看the documentation,特别是CURLOPT_POST,CURLOPT_PUT,CURLOPT_COOKIEFILE,CURLOPT_POSTFIELDS和CURLOPT_USERAGENT

上的部分

您还可以通过curl_getinfo($handle)

查看有关所请求页面的信息

答案 1 :(得分:1)

一个简单的登录示例包括说出用户名和密码。

$ch = curl_init();

$data = array('username' => 'xyz', 'password' => 'abc');

curl_setopt($ch, CURLOPT_URL, 'http://website.com/login.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'close_cookies.txt');

curl_exec($ch);
curl_close($ch);

这两条cookie行旨在将cookie存储在您的服务器上,以便随时阅读。在curl_exec($ch)行之后,您仍然可以登录网站,无需重新登录即可创建更多POST或GET请求。