加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP利用curl实现get与POST提交数据

发布时间:2022-02-18 11:33:54 所属栏目:PHP教程 来源:互联网
导读:curl实现get提交数据,代码如下: // 初始化一个 cURL 对象 $curl = curl_init(); // 设置你需要抓取的URL curl_setopt($curl, CURLOPT_URL, http://www.Cuoxin.com); // 设置header, 最后一个参数是0表示返回值不带有header,1表示带有header curl_setopt($
  curl实现get提交数据,代码如下:
 
  // 初始化一个 cURL 对象
  $curl = curl_init();
  // 设置你需要抓取的URL
  curl_setopt($curl, CURLOPT_URL, 'http://www.Cuoxin.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.Cuoxin.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) ;
 

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读