PHP利用Curl、socket、file_get_contents POST数据
生活随笔
收集整理的這篇文章主要介紹了
PHP利用Curl、socket、file_get_contents POST数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 /** 2 * 其它版本 3 * 使用方法: 4 * $post_string = "app=request&version=beta"; 5 * request_by_other('http://facebook.cn/restServer.php',$post_string); 6 */ 7 function request_by_other($remote_server,$post_string){ 8 $context = array( 9 'http'=>array(
10 'method'=>'POST',
11 'header'=>'Content-type: application/x-www-form-urlencoded'."\r\n".
12 'User-Agent : Jimmy\'s POST Example beta'."\r\n".
13 'Content-length: '.strlen($post_string)+8,
14 'content'=>.$post_string)
15 );
16 $stream_context = stream_context_create($context);
17 $data = file_get_contents($remote_server,FALSE,$stream_context);
18 return $data;
19 }
20
21 /**
22 * Socket版本
23 * 使用方法:
24 * $post_string = "app=socket&version=beta";
25 * request_by_socket('facebook.cn','/restServer.php',$post_string);
26 */
27 function request_by_socket($remote_server,$remote_path,$post_string,$port = 80,$timeout = 30){
28 $socket = fsockopen($remote_server,$port,$errno,$errstr,$timeout);
29 if (!$socket) die("$errstr($errno)");
30
31 fwrite($socket,"POST $remote_path HTTP/1.0\r\n");
32 fwrite($socket,"User-Agent: Socket Example\r\n");
33 fwrite($socket,"HOST: $remote_server\r\n");
34 fwrite($socket,"Content-type: application/x-www-form-urlencoded\r\n");
35 fwrite($socket,"Content-length: ".strlen($post_string)+8."\r\n");
36 fwrite($socket,"Accept:*/*\r\n");
37 fwrite($socket,"\r\n");
38 fwrite($socket,"mypost=$post_string\r\n");
39 fwrite($socket,"\r\n");
40
41 $header = "";
42 while ($str = trim(fgets($socket,4096))) {
43 $header.=$str;
44 }
45
46 $data = "";
47 while (!feof($socket)) {
48 $data .= fgets($socket,4096);
49 }
50
51 return $data;
52 }
53
54 /**
55 * Curl版本
56 * 使用方法:
57 * $post_string = "app=request&version=beta";
58 * request_by_curl('http://facebook.cn/restServer.php',$post_string);
59 */
60 function request_by_curl($remote_server,$post_string){
61 $ch = curl_init();
62 curl_setopt($ch,CURLOPT_URL,$remote_server);
63 curl_setopt($ch,CURLOPT_POSTFIELDS,'mypost='.$post_string);
64 curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
65 curl_setopt($ch,CURLOPT_USERAGENT,"Jimmy's CURL Example beta");
66 $data = curl_exec($ch);
67 curl_close($ch);
68 return $data;
69 }
轉載于:https://www.cnblogs.com/xiangxiaodong/archive/2012/09/12/2681639.html
總結
以上是生活随笔為你收集整理的PHP利用Curl、socket、file_get_contents POST数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java实践(四)——数组
- 下一篇: HDU 2159 FATE 动态规划二维