phpfsocketopen

好长时间没自己写fsockopen远程访问了,习惯了curl的强大,查了下资料写了段post方式代码:

公司主营业务:成都网站设计、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出永兴免费做网站回馈大家。

$url = 'test.fsk.com';
$fp = @fsockopen($url, 80, $errno, $errstr, 3);//远程打开url
$str = "key1=val1&key2=val2";  //post数据

$flag = 0; //区分header和返回数据  

$msg = '';//获取返回的json数据

if (!$fp) { //失败
   echo "$errstr ($errno)
\n";  
} else {

   ////根据实际调用填写url路径和get方式参数  
   $out = "POST /controller/action?query_string HTTP/1.1\r\n";  


   $out .= "Host: " . $url . "\r\n";

   //post方式必须设置该type    
   $out .= "Content-Type: application/x-www-form-urlencoded\r\n";

   //post方式必须设置该length

   $out .= "Content-Length: " . strlen($str) . "\r\n";


   $out .= "Connection: Close\r\n\r\n";
   $out .= $str . "\r\n";  
   fwrite($fp, $out);
   
   while (!feof($fp)) {  
       $s = fgets($fp, 1024);
       $s = trim($s);
       //echo $s."
";
       if(empty($s)){
           $flag = 1;
       }elseif($flag == 1){//读取返回的内容
           $msg .= $s;
       }        
   }  
   fclose($fp);

 

   //打印数据
   var_dump(json_decode($msg));    
}  


分享标题:phpfsocketopen
本文链接:http://ybzwz.com/article/gsisod.html