php fsockopen 可以 post json数据吗? 知道的请留下代码,在此谢过!
回复内容: php fsockopen 可以 post json数据吗? 知道的请留下代码,在此谢过!
因为不清楚你所说的 json 数据具体是想要怎么提交, 故分以下两种情况做为展示.
第一种情况: 提交的整个数据就是json格式的内容.
1.php
'hello', 'b'=>'world', 'c'=>'汉字');$data = json_encode($post_fields);//转换为json格式的字符串$data = array( 'post /123.php http/1.0',//请求的地址 'host: localhost', 'content-type: application/x-www-form-urlencoded', 'content-length: '. strlen($data),//填充数据长度 '',//请求头与数据的分隔符 $data//填充数据体);//注意修改 域名和端口号$sock = fsockopen(localhost, 800, $errno, $errstr, 30);if (!$sock) die($errstr ($errno) );fwrite($sock, implode(\r\n, $data));$data = '';while(!feof($sock)){//测试文件指针是否到了文件结束的位置 $data .= fgets($sock,1024);}fclose($sock);echo $data;
与之对应的123.php文件的代码如下:
string(5) hello [b]=> string(5) world [c]=> string(6) 汉字}
第二种情况: json 格式的数据做为 数据 进行提交.
在上面代码的基础上做如下改动:
1.php
$data = 'xyz=' . json_encode($post_fields);//转换为json格式的字符串
123.php
执行结果与之前的一样.