标题:php fsockopen如何读取返回的值
只看楼主
liaohongchu
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2008-4-25
结帖率:78.72%
 问题点数:0 回复次数:1 
php fsockopen如何读取返回的值
$srv_ip = '127.0.0.1';//你的目标服务地址或频道.
  $srv_port = 80;
  $url = 'http://www.'; //接收你post的URL具体地址  
  $fp = '';
  $resp_str = '';
  $errno = 0;
  $errstr = '';
  $timeout = 10;
  $post_str = "username=demo&str=aaaa";//要提交的内容.
   
  //echo $url_str;
  if ($srv_ip == '' || $dest_url == ''){
  //echo('ip or dest url empty<br>');
  }
  //echo($srv_ip);
  $fp = fsockopen($srv_ip,$srv_port,$errno,$errstr,$timeout);
  if (!$fp){
  echo('fp fail');
  }
  $content_length = strlen($post_str);
  $post_header = "POST $url HTTP/1.1\r\n";
  $post_header .= "Content-Type: application/x-www-form-urlencoded\r\n";
  $post_header .= "User-Agent: MSIE\r\n";
  $post_header .= "Host: ".$srv_ip."\r\n";
  $post_header .= "Content-Length: ".$content_length."\r\n";
  $post_header .= "Connection: close\r\n\r\n";
  $post_header .= $post_str."\r\n\r\n";
  fwrite($fp,$post_header);
  while(!feof($fp)){
  $resp_str .= fgets($fp,512);//返回值放入$resp_str
  }
  fclose($fp);
  echo($resp_str);//处理返回值.
  //unset ($resp_str);

输出为
HTTP/1.1 200 OK Connection: close Date: Tue, 15 Feb 2011 08:59:23 GMT Server: Microsoft-IIS/6.0 X-Powered-By: X-AspNet-Version: 2.0.50727 Cache-Control: private Content-Type: text/html; charset=gb2312 Content-Length: 599 ({'UserID':'0','UserName':'导入数据','CompanyName':'广州友好公寓e1','Province':'1','City':'2','District':'0'})  

但我只想要
({'UserID':'0','UserName':'导入数据','CompanyName':'广州友好公寓e1','Province':'1','City':'2','District':'0'})  
这个 上面的怎么输出这些信息的呢?
搜索更多相关主题的帖子: aaaa echo 频道 
2011-02-16 08:33
liaohongchu
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2008-4-25
得分:0 
$str ="HTTP/1.1 200 OK Connection: close Date: Tue, 15 Feb 2011 08:59:23 GMT Server: Microsoft-IIS/6.0 X-Powered-By: X-AspNet-Version: 2.0.50727 Cache-Control: private Content-Type: text/html; charset=gb2312 Content-Length: 599 ({'UserID':'0','UserName':'导入数据','CompanyName':'广州友好公寓 e1','Province':'1','City':'2','District':'0'})";
//preg_match('/(\(.*?\))/is',$str,$match);
preg_match('/(\{.*?\})/is',$str,$match);
print_r($match[0]);
$levels=json_decode($match[0]);
print_r($levels["CompanyName"]); 谢谢 PHP 怎么读取 JSON格式的呀 我这样写 不知道哪里错了。输出为空
2011-02-16 09:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-332249-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.086905 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved