Http协议 压缩

Posted thought

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Http协议 压缩相关的知识,希望对你有一定的参考价值。

  先说结论:Request和Response可以设置gzip压缩从而节省流量/带宽,这是一个不常见的问题。具体可见连接:HTTP 协议之压缩

  最近测试代理服务器时,意外的发现使用urlopen请求百度首页时,会返回两种结果,一种是正常的百度首页html源码(以下简称正常结果),一种是\'乱码\'。样例如下:

\\x1f\\x8b\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x8dVKo\\xe36\\x10\\xfe+*\\x8d\\xbd\\x04\\xd6\\xcb\\x89\\x13G\\xb2\\rl\\x1c\\x17\\xbb\\xa7\\x16\\xc5\\x16\\xc8.\\n\\x18\\x94H\\xc9L$QKQ~\\xaca\\xa0=\\xb7\\xb7\\x9ezj/\\xed\\xb9\\xbd-\\x8a\\xb6\\xbf&\\x8bEO\\xfd\\x0b\\x1dJ\\x94-\\xc7IQ\\x08\\x90\\xc4\\xe1\\xc7y|3\\x1cr\\xf8\\xc9\\xf5g\\x93W\\xaf?\\x9f\\x1as\\x99&\\xe3\\xa1~SL\\xc6\\xc3\\x94J\\x0cb\\x99\\x9b\\xf4m\\xc9\\x16#\\x14\\xf2L\\xd2L\\x9ar\\x9dSd\\xe8\\xd1\\x08I\\xba\\x92\\xb6Z\\xe8\\x87s,\\n*G\\xa5\\x8c\\xcc\\x01zD\\xc3\\x8d\\xf9\\xe5ss\\xc2\\xd3\\x1cK\\x16$m%/\\xa7\\xa3)\\x89),JXvg\\x08\\x9a\\x8cP1\\xe7B\\x86\\xa54\\x18\\xc0\\x901\\x174\\x1a!;\\xc2\\x0b5\\xb6\\xe0\\x85\\x0c\\xe5\\xca\\x08\\xb1\\x14\\xc7\\xd4^\\x99\\x15n<\\x94L&t\\xfc\\xf1\\x87\\xbf>\\xfc\\xfe\\xcb\\xfd\\xfb\\xaf\\xef\\xdf\\x7f\\xfb\\xcf\\x1f\\xdf\\xdd\\xff\\xf9\\xd3\\x87_\\x7f\\xfb\\xf8\\xe3\\xcf\\x7f\\x7f\\xf3\\xfd\\xd0\\xae!\\xc3B\\xae\\xe1\\xa3|\\xef\\x06\\x9c\\xac7s\\xca\\xe2\\xb9\\xf4\\\\\\xc7y\\xb6U\\xd2\\r_P\\x11%|i\\xae=\\\\J\\xbe\\xadP\\x118\\xed\\xb9\\xbd|e`\\xc1p\\xe2\\x078\\xbc\\x8b\\x05/3\\xe2u\\xa2(\\xaa@\\xdd\\xbc\\x1bq\\x91v\\xcb\\xa4\\x9b\\xb0M\\x8aE\\xcc2\\xcf\\xf1sL\\x08\\xcbb\\xf8KX!\\xcd\\xca\\xbe\\x97\\xf1\\x8c\\xd6\\x8b\\xd4\\x92M\\xce\\x0b&\\x19\\xcf< \\x01xZ\\xd0-K\\xe3M\\xc0\\x05\\xa1\\xc2s\\xb6x\\x13\\xf2\\x84\\x0b\\xaf\\xe38\\xe1\\x16{8T\\x90F\\x16\\x9d;[\\x96\\xe5\\xa5\\xdc\\xe1\\xf7&\\xb7\\x9d\\xa5\\xc0yN\\xc5\\xb1\\x05\\x7f\\xb6\\x13\\xf9)\\xcb\\xcc6\\x0f\\x1dU\\r\\x1b\\xad\\xc5\\x0c\\xb8\\x94<U3\\xf9\\xcaW\\x997q\\xc2\\xe2\\xcc\\x0b!\\x8bT\\xf8\\\'\\xefL\\x96\\x11\\xba\\xf2\\xdc\\xbd5\\xa5p\\xc9\\x88\\x9c{\\x03W\\xadj)o\\x1b;W*\\x1bkG\\x0e>\\xb0\\xef\\xfc\\x0f-\\x86\\xa5\\xde\\xb3\\xc6\\x8d\\x83\\x98*\\xa2uVzU&!\\xbb\\x86\\xe3\\xd7~\\x9e\\x9f\\xb9\\x87\\xd1%4\\x92\\xfe.4\\x07\\xa8\\xbc[>\\x92\\\'\\xab\\x98\\x052\\xdb\\xd4J.\\xfb\\xfbXO\\xc1\\xc4.\\x04\\xc9s\\x0f\\xc6_]\\xfa\\xaa\\x90\\xcc\\x82\\xbd\\xa3\\x9e{\\x06\\x80}\\x1d\\x99:\\x9d\\x84\\x90\\xb6tg\\xd11\\xcc\\xb3\\x01\\xac\\x08KQ\\x00.\\xe7L\\xb1\\x7fh\\xbfNQ\\xe3\\xc0\\xb9BWJ\\x97s&i\\xdb\\xb4\\xf23\\xa1\\x12\\x14\\x98E\\x8eCU+\\xee\\x817^\\xe7\\xf4t\\xd0\\x8f"\\xbf\\xae\\xa9]\\r\\x00m\\x05O\\x181:=r1\\x88\\xce|^J\\xd8\\xbd\\xd4K)ae\\xea\\x9f\\x1c\\xe2\\x1d\\xdf\\\\\\xd2\\xe0\\x8e\\x01\\xa9\\x90\\x10,p\\x16\\xd6\\xb5\\xbf\\x93k\\xbc\\xc0\\xb0\\xbc\\x80\\x82\\xad\\xe3\\x81\\x0c6\\x94^\\xb4"R\\x8c\\x11V\\xe4\\t^{,Sv\\xcd \\xe1\\xe1\\xdd\\xa3\\x84\\x99n\\x0f\\xd8\\xd0\\xac\\x9d\\x1c\\x97W\\x93[\\xc7\\x87\\r/Y\\x88\\x13\\x9dyH\\xd6\\x91\\x1b\\xaaV\\x1a7\\xaa\\xff\\xa7x\\x91\\x10#P*`o\\x1c\\x91\\xa1\\xb4\\xb2\\\\*\\xad\\xad\\x88\\xf6R+\\x88\\xbb;\\xc3j\\xd0)J\\xf8lZ\\xd1Um\\xaf\\xee\\x1e{ez\\xdf\\xb7\\x92\\x13\\x9c\\xab\\xa7qRW\\xd6E\\xa0\\x9efr\\xff\\xad\\xe5\\x0f[\\xda\\xe3D\\x1fS\\xa5\\xf7O\\xff\\xf4\\x12h\\xae\\xb7\\x97)\\xaa\\xe0\\x9c\\xc6~5\\xd4\\xfd\\xc0y\\xe0T0PO\\x9b6\\xa3\\x13\\x86\\xa1\\xa1\\\'\\xfc\\xa6\\x1b{sF\\x08\\xcdt\\xd4:+\\xfd\\xde\\xf9\\xbe:\\xd4\\x9e\\xf6\\xeb>\\rR\\xdb\\x1d\\xec\\x9au\\xe5\\x7f\\x0b\\x05\\xdbP\\xf7\\x01\\x00\\x1a\\x0e<\\x17\\xfb\\xbd\\xaa<\\xdc3\\xd1N\\xe7\\xae\\xbd65\\xffdu+/\\x1f\\xef\\xeb\\xbe\\xea\\x04\\xa7\\x03\\xab\\xf7\\xac\\xc1\\xcc\\x9e\\xee\\xd0\\nk\\xba\\x97\\x90\\xd7\\xed\\xd0\\xae\\xcf\\xad\\xa1]\\x1f\\xd4\\xea\\xe80\\xd4\\xb19Bp(\\xc0\\xb1\\x10\\xc2!H\\xd8\\xc2`d\\x84\\xb4\\xc6\\x96D-\\xd2\\xc30\\xc1EQKf\\x87@=S\\xbb\\xf5\\x98lv\\xac8\\x89a\\x00g\\x95\\x01\\xe9\\xa1\\x11\\x0fK\\x00KQRT\\x88\\x10\\x8c\\xc0=\\xc0\\xb3\\xed\\xe5ri\\x05\\x98\\x91\\xd2\\nyj\\x03\\xda\\x0e\\xc8,\\xe11w\\xad<\\x8bQ\\x95\\xcb\\x11\\xea]8\\xa8N\\xd2\\x08\\xb9\\xbdK\\xd0k\\x83\\x95\\xf1PY\\xaelUne8\\x85\\xd3?B\\xea\\x0c\\xe4\\x19\\xdc\\r\\n\\xa4}\\x8c\\x94\\xcf\\xd5A\\xa8\\xaf\\x08u\\xc5\\xe8\\x15\\x8c\\xa2\\x05NJ\\xf8kn*OB\\xc3y\\x03\\xfd/\\x94\\xcc\\x1aT\\x15\\x1a@\\xa1N\\xb2\\x86\\xb0 6\\x9a\\xed\\xd9\\xcc\\xa8\\x10\\x94$\\x9fs\\xc9UtJ\\xda\\x18P\\x93wK\\xadzI\\xd0\\x8ewX\\xb1\\xf3&\\xc5\\xab\\x84fqEV\\xbf\\x8fT\\x1f\\x02Bsh\\xe40\\xcb\\xa3h\\xaf\\xf4\\xc8\\x95\\xba\\xa7<\\x88\\xa7(\\x83\\x94I\\xa4l\\x17ec\\xa5}\\x87B\\x0fT\\xec\\r\\xd8*\\x19M\\x86\\xeawS\\x12\\xa5\\x8b\\x0e\\\'\\x0e\\xa7#9\\xa9nl\\xed\\xb9"\\x14\\x10\\xe7x\\x81\\x85\\x91\\x92>Dw\\xeaL>\\xbd\\xba\\xb9zsu3\\x99L\\xae\\xaf^O\\xa6\\xd7_L\\x9f_\\xbf\\x9a\\xbe\\x80\\xef\\xcb\\xeb7\\x08\\xfc\\xa8\\xd7\\xe8\\xb5F\\xbb\\xdeH\\xd2\\xb3na\\xe3s\\x9cU\\x15w\\xfb\\xb6\\xa4b\\xad?\\xa6k\\xb9\\x8e5\\xb0\\xe0\\x02a\\xdd\\x16UDZSu\\xa1\\x1d\\xff\\x0b\\xaaR\\xe1\\t\\x1f\\x0b\\x00\\x00
View Code

 

  并且,作者尝试了请求五十次,结果如下:

请求地址 返回‘乱码’ &使用代理(阿里云) 返回‘乱码’ &不使用代理
http://www.baidu.com/ 45 26
http://www.baidu.com 0 9

 

  然后作者查看了异常结果的Response.info(),如下:

Server: Apache-Coyote/1.1 
Cache-Control: 
Content-Type: text/html;charset=UTF-8 
Content-Encoding: gzip 
Content-Length: 1285 
Set-Cookie: fist_user=1;Domain=.baidu.com;Path=/;Max-Age=300 
Pragma: no-cache 

  可以看出,Response可能采用的Gzip编码。使用Gzip对其进行解码,得到的结果与正常结果一样。解码代码如下:

import urllib
import gzip
from StringIO import StringIO
Response= urllib.urlopen("http://www.baidu.com",proxies=proxies)
buf = StringIO(Response)
f = gzip.GzipFile(fileobj=buf)
data = f.read()
print data

  然后,作者搜索了Response+gzip的相关内容,发现使用gzip对Request和Response进行压缩是一种很常用的技术(节省流量),至于刚开始为什么一部分成功一部分不成功,估计和网速有关吧,百度服务器的设置。

附录

  1. Gzip压缩的好处:简单来说, Gzip压缩是在一个文本文件中找出类似的字符串, 并临时替换他们,使整个文件变小。这种形式的压缩对Web来说非常适合, 因为HTML和CSS文件通常包含大量的重复的字符串,例如空格,标签。
  2. 正常网页的Response.info()如下:
    Date: Fri, 26 May 2017 09:47:21 GMT 
    Content-Type: text/html; charset=utf-8 
    Connection: Close 
    Vary: Accept-Encoding 
    Set-Cookie: BAIDUID=BC372CE9BA2818456F638398397AA396:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com 
    Set-Cookie: BIDUPSID=BC372CE9BA2818456F638398397AA396; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com 
    Set-Cookie: PSTM=1495792041; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com 
    Set-Cookie: BDSVRTM=0; path=/ 
    Set-Cookie: BD_HOME=0; path=/ 
    Set-Cookie: H_PS_PSSID=23080_1457_21114_22748_22916_20929; path=/; domain=.baidu.com 
    P3P: CP=" OTI DSP COR IVA OUR IND COM " 
    Cache-Control: private 
    Cxy_all: baidu+be1deb4364f132ec4f46c09e73d3c3a2 
    Expires: Fri, 26 May 2017 09:47:00 GMT 
    X-Powered-By: Hphp 
    Server: BWS/1.1 
    X-UA-Compatible: IE=Edge,chrome=1 
    BDPAGETYPE: 1 
    BDQID: 0xe2d7aa44000004ed 
    BDUSERID: 0 
  3. 测试源码
    import urllib
    # # a=urllib.getproxies()
    # # print a
    a =\'\\x1f\\x8b\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x8dVKo\\xe36\\x10\\xfe+*\\x8d\\xbd\\x04\\xd6\\xcb\\x89\\x13G\\xb2\\rl\\x1c\\x17\\xbb\\xa7\\x16\\xc5\\x16\\xc8.\\n\\x18\\x94H\\xc9L$QKQ~\\xaca\\xa0=\\xb7\\xb7\\x9ezj/\\xed\\xb9\\xbd-\\x8a\\xb6\\xbf&\\x8bEO\\xfd\\x0b\\x1dJ\\x94-\\xc7IQ\\x08\\x90\\xc4\\xe1\\xc7y|3\\x1cr\\xf8\\xc9\\xf5g\\x93W\\xaf?\\x9f\\x1as\\x99&\\xe3\\xa1~SL\\xc6\\xc3\\x94J\\x0cb\\x99\\x9b\\xf4m\\xc9\\x16#\\x14\\xf2L\\xd2L\\x9ar\\x9dSd\\xe8\\xd1\\x08I\\xba\\x92\\xb6Z\\xe8\\x87s,\\n*G\\xa5\\x8c\\xcc\\x01zD\\xc3\\x8d\\xf9\\xe5ss\\xc2\\xd3\\x1cK\\x16$m%/\\xa7\\xa3)\\x89),JXvg\\x08\\x9a\\x8cP1\\xe7B\\x86\\xa54\\x18\\xc0\\x901\\x174\\x1a!;\\xc2\\x0b5\\xb6\\xe0\\x85\\x0c\\xe5\\xca\\x08\\xb1\\x14\\xc7\\xd4^\\x99\\x15n<\\x94L&t\\xfc\\xf1\\x87\\xbf>\\xfc\\xfe\\xcb\\xfd\\xfb\\xaf\\xef\\xdf\\x7f\\xfb\\xcf\\x1f\\xdf\\xdd\\xff\\xf9\\xd3\\x87_\\x7f\\xfb\\xf8\\xe3\\xcf\\x7f\\x7f\\xf3\\xfd\\xd0\\xae!\\xc3B\\xae\\xe1\\xa3|\\xef\\x06\\x9c\\xac7s\\xca\\xe2\\xb9\\xf4\\\\\\xc7y\\xb6U\\xd2\\r_P\\x11%|i\\xae=\\\\J\\xbe\\xadP\\x118\\xed\\xb9\\xbd|e`\\xc1p\\xe2\\x078\\xbc\\x8b\\x05/3\\xe2u\\xa2(\\xaa@\\xdd\\xbc\\x1bq\\x91v\\xcb\\xa4\\x9b\\xb0M\\x8aE\\xcc2\\xcf\\xf1sL\\x08\\xcbb\\xf8KX!\\xcd\\xca\\xbe\\x97\\xf1\\x8c\\xd6\\x8b\\xd4\\x92M\\xce\\x0b&\\x19\\xcf< \\x01xZ\\xd0-K\\xe3M\\xc0\\x05\\xa1\\xc2s\\xb6x\\x13\\xf2\\x84\\x0b\\xaf\\xe38\\xe1\\x16{8T\\x90F\\x16\\x9d;[\\x96\\xe5\\xa5\\xdc\\xe1\\xf7&\\xb7\\x9d\\xa5\\xc0yN\\xc5\\xb1\\x05\\x7f\\xb6\\x13\\xf9)\\xcb\\xcc6\\x0f\\x1dU\\r\\x1b\\xad\\xc5\\x0c\\xb8\\x94<U3\\xf9\\xcaW\\x997q\\xc2\\xe2\\xcc\\x0b!\\x8bT\\xf8\\\'\\xefL\\x96\\x11\\xba\\xf2\\xdc\\xbd5\\xa5p\\xc9\\x88\\x9c{\\x03W\\xadj)o\\x1b;W*\\x1bkG\\x0e>\\xb0\\xef\\xfc\\x0f-\\x86\\xa5\\xde\\xb3\\xc6\\x8d\\x83\\x98*\\xa2uVzU&!\\xbb\\x86\\xe3\\xd7~\\x9e\\x9f\\xb9\\x87\\xd1%4\\x92\\xfe.4\\x07\\xa8\\xbc[>\\x92\\\'\\xab\\x98\\x052\\xdb\\xd4J.\\xfb\\xfbXO\\xc1\\xc4.\\x04\\xc9s\\x0f\\xc6_]\\xfa\\xaa\\x90\\xcc\\x82\\xbd\\xa3\\x9e{\\x06\\x80}\\x1d\\x99:\\x9d\\x84\\x90\\xb6tg\\xd11\\xcc\\xb3\\x01\\xac\\x08KQ\\x00.\\xe7L\\xb1\\x7fh\\xbfNQ\\xe3\\xc0\\xb9BWJ\\x97s&i\\xdb\\xb4\\xf23\\xa1\\x12\\x14\\x98E\\x8eCU+\\xee\\x817^\\xe7\\xf4t\\xd0\\x8f"\\xbf\\xae\\xa9]\\r\\x00m\\x05O\\x181:=r1\\x88\\xce|^J\\xd8\\xbd\\xd4K)ae\\xea\\x9f\\x1c\\xe2\\x1d\\xdf\\\\\\xd2\\xe0\\x8e\\x01\\xa9\\x90\\x10,p\\x16\\xd6\\xb5\\xbf\\x93k\\xbc\\xc0\\xb0\\xbc\\x80\\x82\\xad\\xe3\\x81\\x0c6\\x94^\\xb4"R\\x8c\\x11V\\xe4\\t^{,Sv\\xcd \\xe1\\xe1\\xdd\\xa3\\x84\\x99n\\x0f\\xd8\\xd0\\xac\\x9d\\x1c\\x97W\\x93[\\xc7\\x87\\r/Y\\x88\\x13\\x9dyH\\xd6\\x91\\x1b\\xaaV\\x1a7\\xaa\\xff\\xa7x\\x91\\x10#P*`o\\x1c\\x91\\xa1\\xb4\\xb2\\\\*\\xad\\xad\\x88\\xf6R+\\x88\\xbb;\\xc3j\\xd0)J\\xf8lZ\\xd1Um\\xaf\\xee\\x1e{ez\\xdf\\xb7\\x92\\x13\\x9c\\xab\\xa7qRW\\xd6E\\xa0\\x9efr\\xff\\xad\\xe5\\x0f[\\xda\\xe3D\\x1fS\\xa5\\xf7O\\xff\\xf4\\x12h\\xae\\xb7\\x97)\\xaa\\xe0\\x9c\\xc6~5\\xd4\\xfd\\xc0y\\xe0T0PO\\x9b6\\xa3\\x13\\x86\\xa1\\xa1\\\'\\xfc\\xa6\\x1b{sF\\x08\\xcdt\\xd4:+\\xfd\\xde\\xf9\\xbe:\\xd4\\x9e\\xf6\\xeb>\\rR\\xdb\\x1d\\xec\\x9au\\xe5\\x7f\\x0b\\x05\\xdbP\\xf7\\x01\\x00\\x1a\\x0e<\\x17\\xfb\\xbd\\xaa<\\xdc3\\xd1N\\xe7\\xae\\xbd65\\xffdu+/\\x1f\\xef\\xeb\\xbe\\xea\\x04\\xa7\\x03\\xab\\xf7\\xac\\xc1\\xcc\\x9e\\xee\\xd0\\nk\\xba\\x97\\x90\\xd7\\xed\\xd0\\xae\\xcf\\xad\\xa1]\\x1f\\xd4\\xea\\xe80\\xd4\\xb19Bp(\\xc0\\xb1\\x10\\xc2!H\\xd8\\xc2`d\\x84\\xb4\\xc6\\x96D-\\xd2\\xc30\\xc1EQKf\\x87@=S\\xbb\\xf5\\x98lv\\xac8\\x89a\\x00g\\x95\\x01\\xe9\\xa1\\x11\\x0fK\\x00KQRT\\x88\\x10\\x8c\\xc0=\\xc0\\xb3\\xed\\xe5ri\\x05\\x98\\x91\\xd2\\nyj\\x03\\xda\\x0e\\xc8,\\xe11w\\xad<\\x8bQ\\x95\\xcb\\x11\\xea]8\\xa8N\\xd2\\x08\\xb9\\xbdK\\xd0k\\x83\\x95\\xf1PY\\xaelUne8\\x85\\xd3?B\\xea\\x0c\\xe4\\x19\\xdc\\r\\n\\xa4}\\x8c\\x94\\xcf\\xd5A\\xa8\\xaf\\x08u\\xc5\\xe8\\x15\\x8c\\xa2\\x05NJ\\xf8kn*OB\\xc3y\\x03\\xfd/\\x94\\xcc\\x1aT\\x15\\x1a@\\xa1N\\xb2\\x86\\xb0 6\\x9a\\xed\\xd9\\xcc\\xa8\\x10\\x94$\\x9fs\\xc9UtJ\\xda\\x18P\\x93wK\\xadzI\\xd0\\x8ewX\\xb1\\xf3&\\xc5\\xab\\x84fqEV\\xbf\\x8fT\\x1f\\x02Bsh\\xe40\\xcb\\xa3h\\xaf\\xf4\\xc8\\x95\\xba\\xa7<\\x88\\xa7(\\x83\\x94I\\xa4l\\x17ec\\xa5}\\x87B\\x0fT\\xec\\r\\xd8*\\x19M\\x86\\xeawS\\x12\\xa5\\x8b\\x0e\\\'\\x0e\\xa7#9\\xa9nl\\xed\\xb9"\\x14\\x10\\xe7x\\x81\\x85\\x91\\x92>Dw\\xeaL>\\xbd\\xba\\xb9zsu3\\x99L\\xae\\xaf^O\\xa6\\xd7_L\\x9f_\\xbf\\x9a\\xbe\\x80\\xef\\xcb\\xeb7\\x08\\xfc\\xa8\\xd7\\xe8\\xb5F\\xbb\\xdeH\\xd2\\xb3na\\xe3s\\x9cU\\x15w\\xfb\\xb6\\xa4b\\xad?\\xa6k\\xb9\\x8e5\\xb0\\xe0\\x02a\\xdd\\x16UDZSu\\xa1\\x1d\\xff\\x0b\\xaaR\\xe1\\t\\x1f\\x0b\\x00\\x00\'
    file = open(r"C:\\Users\\wzs\\Desktop\\baidu",\'w\')
    proxies={\'http\':\'http://120.24.79.140:8118\'}
    i = 0
    j0 = 0
    j1 = 0
    proxyfiles = []
    localfiles = []
    while i < 50:
        proxyfile = urllib.urlopen("http://www.baidu.com",proxies=proxies).read()
        localfile = urllib.urlopen("http://www.baidu.com").read()
        if proxyfile==a:
            j0+=1
        else:
            proxyfiles.append(proxyfile)
        if localfile==a:
            j1+=1
        else:
            localfiles.append(localfile)
        i+=1
    file.writelines(proxyfiles)
    file.writelines("\\n-------------------------------------------------------------\\n")
    file.writelines(localfiles)
    file.close()
    print j0
    print j1
    View Code
  4. 待续

 

以上是关于Http协议 压缩的主要内容,如果未能解决你的问题,请参考以下文章

HTTP协议压缩格式和URL编码介绍

协议切换成功与否

Flutter 报错 DioError [DioErrorType.DEFAULT]: Bad state: Insecure HTTP is not allowed by platform(代码片段

前端性能优化-HTTP压缩

Http协议 压缩

HTTP 传输内容的压缩