PHP支持的由Daniel Stenberg创建的libcurl库允许你(模拟)与各种的服务器使用各种类型的协议进行连接和通讯。libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。
用curl资源模拟浏览器的请求:
1 <?php
2 // 创建一个新cURL资源
3 $ch = curl_init ();
4
5 // 设置URL和相应的选项
6 curl_setopt ( $ch , CURLOPT_URL , "http://www.example.com/" );
7 //不设置请求头信息
8 curl_setopt ( $ch , CURLOPT_HEADER , 0 );
9 //开启模拟POST请求
10 curl_setopt($ch,CURLOPT_POST,1);
11 /*
12 curl_setopt()常用选项说明:
13 CURLOPT_URL:设置模拟浏览器的请求地址
14 CURLOPT_RETURNTANSFER(1):捕获内容但不输出
15 CURLOPT_HEADER(0或1):设置请求头信息;设置为1
16 CURLOPT_POST(1):是否开启模拟POST请求;开启为1
17 CURLOPT_POSTFIELDS:设置POST请求时传递的参数,(当参数为数组时,cURL会把数据编码成 multipart/form-data,而然传递一个URL-encoded字符串时,数据会被编码成 application/x-www-form-urlencoded。)
18 */
19
20 // 执行cURL资源
21 $result=curl_exec ( $ch );
22 echo $result;
23 // 关闭cURL资源,并且释放系统资源
24 curl_close ( $ch );
25 ?>
原文:http://www.cnblogs.com/lanchang/p/7215326.html