首页 > 代码库 > 模拟http请求 带 chunked解析办法二
模拟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解析办法二