1转自phpchina 一个人的回答,又搜不到了。。。。 做模拟登录时火狐浏览器的Httpfox和Firebug两个插件真心好使啊,嗯,神器
2
3
4 /*------------------------简单的测试------------------------------------------------start*/
5 /*
6 $ch = curl_init(); //开启curl语柄
7
8 curl_setopt($ch, CURLOPT_URL, "http://localhost/curl_server/index.php?id=1"); //设置提交链接
9 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //设置服务端返回的数据是否返回数据 0为不返回
10 // 1为返回
11 curl_setopt($ch, CURLOPT_HEADER, 0); //是否返回相应头信息 0为不返回 1为返回
12 $output = curl_exec($ch);
13 echo $output."============";
14
15
16 // 测试链接是否可用
17 // curl_exec($ch);
18 // $data=curl_getinfo($ch);
19 // if($data['http_code']==404){
20 // echo "server error";
21 // }
22 */
23 /*----------------------简单的测试------------------------------------------------------end*/
24
25
26 /*------------------------模拟post提交------------------------------------------------start*/
27 /*
28 header("Content-Type: text/html; charset=utf-8");
29 $post_data=array('user_name'=>"卫江涛",
30 'user_pass'=>"超级魂斗罗加强版");
31
32 $ch = curl_init();
33 curl_setopt($ch, CURLOPT_URL, "http://localhost/curl_server/index.php");
34 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
35 curl_setopt($ch, CURLOPT_HEADER, 0);
36 curl_setopt($ch,CURLOPT_POST,1); // 是否使用post提交
37 curl_setopt($ch,CURLOPT_POSTFIELDS, $post_data); // post所要提交的数据
38
39 $output=curl_exec($ch);
40 $return_data=json_decode($output,true);
41 var_dump($return_data);
42 */
43 /*
44 */
45 /*------------------------模拟post提交------------------------------------------------end*/
46
47
48 /*----------------------图片上传------------------------------------------------------end*/
49 /*
50 $post_data=array('user_name'=>"卫江涛",
51 'fff'=>'@F:\SteelLand\apache_web\curl_client\1.jpg' //此处必须为绝对路径
52 );
53 $ch = curl_init();
54 curl_setopt($ch, CURLOPT_URL, "http://localhost/curl_server/index.php");
55 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
56 curl_setopt($ch, CURLOPT_HEADER, 0);
57 curl_setopt($ch,CURLOPT_POST,1); // 是否使用post提交
58 curl_setopt($ch,CURLOPT_POSTFIELDS, $post_data); // post所要提交的数据
59
60 $output=curl_exec($ch);
61
62 var_dump($output);
63 */
64
65 /*----------------------图片上传------------------------------------------------------end*/
66
67 /*----------------------curl模拟登录------------------------------------------------------start*/
68 header("Content-Type: text/html; charset=utf-8");
69
70 //第一步生成cookie
71 //$cookie_file = tempnam('./temp','cookie'); //生成cookie文件存放sessionid
72 /*
73 $ch = curl_init();
74 curl_setopt($ch, CURLOPT_URL, "http://localhost/curl_server/index.php");
75 curl_setopt($ch, CURLOPT_HEADER, 0);
76 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
77 curl_setopt($ch, CURLOPT_POST, 1);
78 curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); //当连接关闭后 存放cookie的文件
79 curl_exec($ch);
80 curl_close($ch);
81 */
82
83
84 //第二步利用生成的cookie进行登录 /*此处的文件路径必须为绝对路径 否则失效*/
85 /*
86 $cookie_file = 'F:\SteelLand\apache_web\curl_client\temp\coo27D1.tmp';
87 $ch = curl_init();
88 curl_setopt($ch, CURLOPT_URL, "http://localhost/curl_server/index1.php");
89 curl_setopt($ch, CURLOPT_HEADER, 0);
90 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
91 curl_setopt($ch, CURLOPT_POST, 1);
92 curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); //设置使用cookie的文件
93
94 $output=curl_exec($ch);
95 curl_close($ch);
96
97 echo $output;
98
99 */
100 /*
101 $json=json_encode(array("a"=>"b","c"=>"d"));
102 $post_data=array('user_name'=>"卫江涛",
103 'user_pass'=>$json);
104
105 $ch = curl_init();
106 curl_setopt($ch, CURLOPT_URL, "http://localhost/curl_server/index.php");
107 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
108 curl_setopt($ch, CURLOPT_HEADER, 0);
109 curl_setopt($ch,CURLOPT_POST,1); // 是否使用post提交
110 curl_setopt($ch,CURLOPT_POSTFIELDS, $post_data); // post所要提交的数据
111
112 $output=curl_exec($ch);
113 echo $output;
114 */
115
116 //$data = array("name" => "Hagrid", "age" => "36");
117 //$data_string = json_encode($data);
118 $data_string="<?xml version='1.0' encoding='UTF-8'?><message>dfdffdf</message>";
119
120 $ch = curl_init('http://localhost/curl_server/index.php');
121 //curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
122 curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
123 curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
124 curl_setopt($ch, CURLOPT_HTTPHEADER, array(
125 'Content-Type: text/xml',
126 'Content-Length: ' . strlen($data_string))
127 );
128 curl_setopt($ch, CURLOPT_USERAGENT,"xxxxxxxxxxxxx");
129 $result = curl_exec($ch);
130
131 echo $result;
132 /*----------------------curl模拟登录------------------------------------------------------end*/
133 ?>