文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>how to use Socket and CURL

how to use Socket and CURL

时间:2010-07-15  来源:haohappy2

  1. <?php   
  2. /**  
  3. * Socket版本  
  4. * 使用方法:  
  5. * $post_string = "app=socket&version=beta";  
  6. * request_by_socket('facebook.cn','/restServer.php',$post_string);  
  7. */  
  8. function request_by_socket($remote_server,$remote_path,$post_string,$port = 80,$timeout = 30){   
  9.     $socket = fsockopen($remote_server,$port,$errno,$errstr,$timeout);   
  10.     if (!$socket) die("$errstr($errno)");   
  11.       
  12.     fwrite($socket,"POST $remote_path HTTP/1.0");   
  13.     fwrite($socket,"User-Agent: Socket Example");   
  14.     fwrite($socket,"HOST: $remote_server");   
  15.     fwrite($socket,"Content-type: application/x-www-form-urlencoded");   
  16.     fwrite($socket,"Content-length: ".strlen($post_string)+8."");   
  17.     fwrite($socket,"Accept:*/*");   
  18.     fwrite($socket,"");   
  19.     fwrite($socket,"mypost=$post_string");   
  20.     fwrite($socket,"");   
  21.       
  22.     $header = "";   
  23.     while ($str = trim(fgets($socket,4096))) {   
  24.         $header.=$str;   
  25.     }   
  26.       
  27.     $data = "";   
  28.     while (!feof($socket)) {   
  29.         $data .= fgets($socket,4096);   
  30.     }   
  31.       
  32.     return $data;   
  33. }   
  34.   
  35.   
  36. /**   
  37. * Curl版本   
  38. * 使用方法:   
  39. * $post_string = "app=request&version=beta";   
  40. * request_by_curl('http://facebook.cn/restServer.php',$post_string);   
  41. */   
  42. function request_by_curl($remote_server,$post_string){   
  43.     $ch = curl_init();   
  44.     curl_setopt($ch,CURLOPT_URL,$remote_server);   
  45.     curl_setopt($ch,CURLOPT_POSTFIELDS,'mypost='.$post_string);   
  46.     curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);   
  47.     curl_setopt($ch,CURLOPT_USERAGENT,"Jimmy's CURL Example beta");   
  48.     $data = curl_exec($ch);   
  49.     curl_close($ch);   
  50.     return $data;   
  51. }   
  52. /**  
  53. * 其它版本  
  54. * 使用方法:  
  55. * $post_string = "app=request&version=beta";  
  56. * request_by_other('http://facebook.cn/restServer.php',$post_string);  
  57. */  
  58. function request_by_other($remote_server,$post_string){   
  59.     $context = array(   
  60.         'http'=>array(  
  61.             'method'=>'POST',  
  62.             'header'=>'Content-type: application/x-www-form-urlencoded'."".  
  63.                       'User-Agent : Jimmy's POST Example beta'."".   
  64.                       'Content-length: '.strlen($post_string)+8,   
  65.             'content'=>'mypost='.$post_string)   
  66.         );   
  67.     $stream_context = stream_context_create($context);   
  68.     $data = file_get_contents($remote_server,FALSE,$stream_context);   
  69.     return $data;   
  70. }   
  71.   
  72. ?>  
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载