我用socket api写了一个获取CGI返回值的类,方式是采用的GET,发现返回的数据里面有多余的内容。
比如http://192.168.128.22/Test.php?xx=1&yy=2, 我在php文件中直接返回0,PHP文件内容如下:
<?
echo "0";
?>
我接收到的数据居然是
1
0
0
当PHP为
<?
echo "I Love You";
?>
时,返回
a
I Love You
0
难道我要自己解析前面和后面的两多余部分的内容?还是可以在服务器端的php文件中作处理?

解决方案 »

  1.   

    要是web服务器还返回别的形式,那我可不惨了,要做很多容错处理,而且我也不太清楚那些web服务器会搞什么飞机。
    我不太想用wininet api写,因为平台要不是windows的话,我还会遇到同样的问题。
      

  2.   

    你看看http头就知道了,它是以chunk方式返回的
    ...
    http头
    ...a (chunk字节数,表示后面有a(12)个字节)
    I Love You
    0 (没有字节了,结束)
      

  3.   

    呵呵,终于知道怎么回事。
    我应该首先分析response,看transfer-coding是否是chunked。试了一下asp,它好像没有采用这种编码方式,郁闷,php害我要做这个解析。