好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP利用curl实现get与POST提交数据 - php高级应用

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

curl实现get提交数据,代码如下:

// 初始化一个 cURL 对象   $curl  = curl_init();  // 设置你需要抓取的URL   curl_setopt( $curl , CURLOPT_URL,  'http://HdhCmsTestphpfensi测试数据' );  // 设置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://HdhCmsTestphpfensi测试数据'  ;  $fields  =  array (               'lname' =&gt;urlencode( $last_name ) ,               'fname' =&gt;urlencode( $first_name ) ,               'title' =&gt;urlencode( $title ) ,               'company' =&gt;urlencode( $institution ) ,               'age' =&gt;urlencode( $age ) ,               'email' =&gt;urlencode( $email ) ,               'phone' =&gt;urlencode( $phone )          );   //url-ify the data for the POST   foreach ( $fields   as   $key =&gt; $value ) {  $fields_string  .=  $key . '=' . $value . '&amp;'  ; }  rtrim( $fields_string  , '&amp;' ) ;  //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 ) ;

查看更多关于PHP利用curl实现get与POST提交数据 - php高级应用的详细内容...

  阅读:46次