• 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 }  
    

      

  • 相关阅读:
    浮动清除
    解剖JavaScript中的null和undefined【转】
    关于innerHTML以及html2dom
    javascript 作用域
    4390. 【GDOI2016模拟3.16】图计数 (Standard IO)
    5049. 【GDOI2017模拟一试4.11】腐女的生日
    4273_NOIP2015模拟10.28B组_圣章-精灵使的魔法语
    jzoj_5631_(NOI2018模拟4.5)_A
    jzoj_1001_最难的问题_Floyd
    jzoj_3385_黑魔法师之门
  • 原文地址:https://www.cnblogs.com/xiangxiaodong/p/2681639.html
Copyright © 2020-2023  润新知