// 初始化一个 curl 对象 $curl = curl_init(); // 设置你需要抓取的url curl_setopt($curl, curlopt_url, 'http://www.phprm.com'); // 设置header, 最后一个参数是0表示返回值不带有header,1表示带有header curl_setopt($curl, curlopt_header, 0); // 设置浏览器的特定header,可选,如果目标网站有要求的话 curl_setopt($ch, curlopt_httpheader, array( user-agent: {'mozilla/5.0 (windows; u; windows nt 6.1; en-us; rv:1.9.1.6) gecko/20091201 firefox/3.5.6 (.net clr 3.5.30729)'}, accept-language: {en-us,en;q=0.5} )); //或者只设置user-agent,可选,如果目标网站有要求的话 curl_setopt($curl, curlopt_useragent, mozilla/5.0 (windows; u; windows nt 5.1; en-us; rv:1.8.1.1) gecko/20061204 firefox/2.0.0.1); // 设置curl 参数,要求结果保存到字符串中还是输出到屏幕上,1表示保存到字符串 curl_setopt($curl, curlopt_returntransfer, 1); // 页面内容不需要时,设置为1. 默认为0 curl_setopt($ch, curlopt_nobody, 1); // 运行curl,请求网页,保存在$data $data = curl_exec($curl); // 关闭url请求 curl_close($curl); //检查错误 //比较的时候我们用的是=== false,而非== false,因为我们得区分'空输出'和'布尔值false' if ($output === false) { echo curl error: . curl_error($ch); } //可以获取信息 $info = curl_getinfo($ch); echo '获取'. $info['url'] . '耗时'. $info['total_time'] . '秒'; /* ...返回的数组中包括了以下信息: url //资源网络地址 content_type //内容编码 http_code //http状态码 header_size //header的大小 request_size //请求的大小 filetime //文件创建时间 ssl_verify_result //ssl验证结果 redirect_count //跳转技术 total_time //总耗时 namelookup_time //dns查询耗时 connect_time //等待连接耗时 pretransfer_time //传输前准备耗时 size_upload //上传数据的大小 size_download //下载数据的大小 speed_download //下载速度 speed_upload //上传速度 download_content_length//下载内容的长度 upload_content_length //上传内容的长度 starttransfer_time //开始传输的时间 redirect_time//重定向耗时 */
curl实现post提交数据,http的post实现,代码如下:
//extract data from the post extract($_post) ; //set post variables $url = 'http://www.phprm.com' ; $fields = array( 'lname'=>urlencode($last_name) , 'fname'=>urlencode($first_name) , 'title'=>urlencode($title) , 'company'=>urlencode($institution) , 'age'=>urlencode($age) , 'email'=>urlencode($email) , 'phone'=>urlencode($phone) ); //url-ify the data for the post foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&' ; } rtrim($fields_string ,'&') ; //open connection $ch = curl_init() ; //set the url, number of post vars, post data curl_setopt($ch, curlopt_url,$url) ; curl_setopt($ch, curlopt_post,count($fields)) ; curl_setopt($ch, curlopt_postfields,$fields_string) ; //execute post $result = curl_exec($ch) ; //close connection curl_close($ch) ;
永久链接:
转载随意!带上文章地址吧。
