php curl 总结

来源:互联网 发布:android 视频直播源码 编辑:程序博客网 时间:2024/05/20 19:47
>> 抓取无访问控制文件
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com');
curl_setopt($ch, CURLOPT_HEADER, false);     // 启用时会将头文件的信息作为数据流输出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);     //启用时将curl_exec()获取的信息以文件流的形式返回,而不是直接输出
$output = curl_exec($ch);
curl_close($ch);

>> 使用代理进行抓取
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);     //启用时会通过http代理来传输
curl_setopt($ch, CURLOPT_PROXY, 11.11.11.11:8001);     //http代理通道
curl_setopt($ch, CURLOPT_USERPWD, 'user:password');     //需要用户名密码时
$output = curl_exec($ch);
curl_close($ch);

>> post提交数据
$ch = curl_init();
/*在这里需要注意的是,要提交的数据不能是二维数组或者更高
*例如array('name'=>serialize(array('tank','zhang')),'sex'=>1,'birth'=>'20101010')
*例如array('name'=>array('tank','zhang'),'sex'=>1,'birth'=>'20101010')这样会报错的*/ 
$data = array('name' => 'test', 'sex'=>1,'birth'=>'20101010');
curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);     //启用时会发送一个常规post请求
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);     //post传递数据
$output = curl_exec($ch);
curl_close($ch);
0 0
原创粉丝点击