模拟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解析办法二的主要内容,如果未能解决你的问题,请参考以下文章

libcurl遇到http的chunked问题

Fiddler模拟Http请求

Jmeter教程(二) - 自定义变量模拟多用户

用flash请求一个http请求,返回 json结构的数据,用火狐访问没问题net::ERR_INCOMPLETE_CHUNKED_ENCODING

Web后端语言模拟http请求(带用户名和密码)实例代码大全

python 通过python发送chunked http请求