PHP利用curl实现get与POST提交数据
本文章来给大家介绍PHP利用curl实现get与POST提交数据方法,各位朋友有需要了解的可进入参考。
curl实现get提交数据
<?php // 初始化一个 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实现
<?php //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);
文章地址:http://www.phprm.com/database/51260.html
转载随意^^请带上本文地址!