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' =>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 ) ;查看更多关于PHP利用curl实现get与POST提交数据 - php高级应用的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30487