php之通过curl模仿表单提交(get,post)抓取其他页⾯的内容curl是个什么
这是PHP对于curl的⼀个解释,简单地说就是,curl是⼀个库,能让你通过URL和许多不同种的服务器进⾏勾搭、搭讪和深⼊交流,并且还⽀持许多协议。并且⼈家还说了curl可以⽀持https认证、http post、ftp上传、代理、cookies、简单⼝令认证等等功能啦。
直接复制就可使⽤
PHP使⽤CURL发送GET请求时并传递参数
<?php
header("Content-Type:text/html; charset=utf-8");
// 使⽤时的基本步骤
curl命令发送post请求带参数$url='xuexiao.weiqingdao/demo.php?ceshi=这个get⽅式提交的内容,所以可以直接写在后⾯';
// 1,初始化
$curl=curl_init();
// 2,设置属性,这个是最复杂的部分,有很多属性,能指定url请求的各个部分
curl_setopt($curl,CURLOPT_URL,$url);//设置抓取的url
// 执⾏后不直接打印出来
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_HEADER,false);
// 跳过证书检查
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);
// 不从证书中检查SSL加密算法是否存在
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($curl,CURLOPT_HEADER,0);// 头⽂件的信息作为数据流输出, 0 不输出,1输出
// curl_setopt($curl,CURL_GET);
/
/ 3,执⾏
$data=curl_exec($curl);
// 显⽰错误信息
if(curl_error($curl)){
print"Error: ".curl_error($curl);
}else{
// 打印返回的内容
var_dump($data);
}
// 4,关闭请求
curl_close($curl);
PHP使⽤CURL发送post请求
<?php
header("Content-Type:text/html; charset=utf-8");
$data='ceshi=post参数';
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,"xuexiao.weiqingdao/demo.php");
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);// 跳过证书检查
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);// 不从证书中检查SSL加密算法是否存在
curl_setopt($curl,CURLOPT_HEADER,0);//启⽤时会将头⽂件的信息作为数据流输出。这⾥不启⽤
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//如果成功只将结果返回,不⾃动输出任何内容。如果失败返回FALSE
curl_setopt($curl,CURLOPT_POST,1);//如果你想PHP去做⼀个正规的HTTP POST,设置这个选项为⼀个⾮零值。这个POST是普通的 application/x-www-fr om-urlencoded 类型,多数被HTML表单使⽤。
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);//需要POST的数据
curl_setopt($curl,CURLOPT_HTTPHEADER,array("application/x-www-form-urlencoded; charset=utf-8"));
$rtn=curl_exec($curl);
if(!curl_errno($curl)){
// $info = curl_getinfo($curl);
// print_r($info);
echo$rtn;
}else{
echo'Curl error: '.curl_error($curl);
}
curl_close($curl);
返回的内容
请求的页⾯内容
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论