模拟http请求 带 chunked解析办法二
Posted 狂客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟http请求 带 chunked解析办法二相关的知识,希望对你有一定的参考价值。
以php代码为例
//这个是解析chuned块
get_chunk_data($fsock)
{
$data = \'\';
while(true)
{
$len = hexdec(fgets($fsock));
if($len == 0)
{
if(fgets($fsock) == "\\r\\n")
break;
}
$data .= fread($fsock, $len);
fgets($fsock);
}
return $data;
}
//这是PHP获取socket内容
while(!feof($fsock))
{
$temp_str = fgets($fsock);
//请求获取完成
if($temp_str == "\\r\\n")
{
//解析chuned块
$response_str .= $temp_str.get_chunk_data($fsock);
break;//直接跳出
}
$response_str .= $temp_str;
}
$response_str 最后就是解析的内容
还有个办法就是取消请求里的
"Accept-Encoding: gzip, deflate\\r\\n" 这个选项。有的服务器会选择不使用chuned数据传输
另外使用
POST /zhenaiMail/sendGreet.jsps HTTP/1.1 修改为
POST /zhenaiMail/sendGreet.jsps HTTP/1.0
使用http协议 1.0 也可以的。
jpg改rar
以上是关于模拟http请求 带 chunked解析办法二的主要内容,如果未能解决你的问题,请参考以下文章
用flash请求一个http请求,返回 json结构的数据,用火狐访问没问题net::ERR_INCOMPLETE_CHUNKED_ENCODING