先说结论: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

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

请求地址 返回‘乱码’ &使用代理(阿里云) 返回‘乱码’ &不使用代理
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
  4. 待续

Http协议 压缩的更多相关文章

  1. thttpd增加gzip压缩响应报文体功能,以减少传输数据量

    thttpd thttpd是一个非常小巧的轻量级web server,它非常非常简单,仅仅提供了HTTP/1.1和简单的CGI支持,在其官方网站上有一个与其他web server(如Apache, Z ...

  2. Tomcat启用GZIP压缩,提升web性能

    一.前言 最近做了个项目,遇到这么一个问题:服务器返回给客户端的json数据量太大(大概65M),在客户端加载了1分多钟才渲染完毕,费时耗流量,用户体验极其不好.后来网上搜优化的方法,就是Http压缩 ...

  3. http gzip压缩功能记录

    版权声明:本文为博主原创文章,转载请附上原文出处链接. 本文链接:https://www.cnblogs.com/shaoshuai95928/articles/Tomcat.html 最近在spri ...

  4. ASP.NET Core如何使用压缩中间件提高Web应用程序性能

    前言 压缩可以大大的降低我们Web服务器的响应速度,压缩从而提高我们网页的加载速度,以及节省一定的带宽. 何时使用相应压缩中间件 在IIS,Apache,Nginx中使用基于服务端的响应压缩技术.中间 ...

  5. TCP/IP详解,卷1:协议--链 路 层

    引言 在 T C P / I P 协议族中,链路层主要有三个目的:(1)为 I P 模块发送和 接收 I P 数据报:(2)为 A R P 模块发送 A R P 请求和接收 A R P 应答:(3)为 ...

  6. 【原创】轻量级移动设备即时通讯技术MobileIMSDK的常见问题解答

    申明:MobileIMSDK 目前为个人原创开源工程且已发布,现整理了一些有关MobileIMSDK的常见的问题,希望对需要的人有用,谢谢.如需与作者交流,见文章底部个人签名处,互相学习. Mobil ...

  7. python 连接 mysql

    http://blog.csdn.net/yelbosh/article/details/7498641 数据库的连接 模块引入之后我们就需要和数据库进行连接了,实例代码如下: db = MySQLd ...

  8. MySQL主从复制技术(纯干货)

    1.复制配置     主机一定要开启二进制日志(这里建议配置RBR)     每个主机和每个从机一定要配置一个位移的id,即server-id     每个从机配置一定要包含主机名称,日志名称,和位置 ...

  9. Python的MySQLdb模块安装,连接,操作,增删改

    1. 首先确认python的版本为2.3.4以上,如果不是需要升级python的版本     python -V   检查python版本 2. 安装mysql, 比如安装在/usr/local/my ...

随机推荐

  1. java继承基础详解

    java继承基础详解 继承是一种由已存在的类型创建一个或多个子类的机制,即在现有类的基础上构建子类. 在java中使用关键字extends表示继承关系. 基本语法结构: 访问控制符 class 子类名 ...

  2. GoldenEye-v1靶机

    仅供个人娱乐 靶机信息 下载地址:https://pan.baidu.com/s/1dzs_qx-YwYHk-vanbUeIxQ 一.主机扫描 二.信息收集 三.漏洞的查找和利用 boris    I ...

  3. 🔥 LeetCode 热题 HOT 100(41-50)

    102. 二叉树的层序遍历 思路:使用队列. /** * Definition for a binary tree node. * public class TreeNode { * int val; ...

  4. 【干货】WordPress系统级更新,程序升级

    [干货]WordPress系统级更新,程序升级 网站技术日新月异,更新升级是维护工作之一,长时间不升级的程序,就如长时间不维护的建筑物一样,会加速老化.功能逐渐缺失直至无法使用.在使用WordPres ...

  5. VMware 安装 Centos 7 虚拟机配置网络

    在 Windows 机器上如果想使用 Linux 环境,最方便的方式莫过于使用虚拟机,最常用的软件各位肯定也不陌生,大名鼎鼎的 VMware . 不过这玩意有点稍稍不是那么智能,每次安装 Linux ...

  6. Flutter集成高德定位和地图功能

    定位集成 配置高德定位依赖库 新建 Flutter 项目,使用 Android Studio 打开项目里的 android 工程,或者右键 android 目录-> flutter -> ...

  7. Android招聘市场技术要求越来越高,从事三年开发是否应该考虑转行?

    这是在某论坛看到的一个网友的疑问,他说感觉现在Android 开发这条路越来越难走了.下面是他的分享: 本来已经做好了好几个月找不到工作的准备.不过这两周感觉面试机会还算可以.两周10个面试感觉刚刚好 ...

  8. 606页Android最新面试题含答案,助力成为offer收割机

    如何才能通过一线互联网公司面试?相信这是很多人的疑惑,希望看完本篇文章能给大家一些启发. 下面是我花了将近一个月的时间整理的一份面试题库.这些面试题,包括我本人自己去面试遇到的,还有其他人员去面试遇到 ...

  9. Create Virtual Network with VirtualBox on Mint 14

    VirtualBox version: VirtualBox-4.2.18-88780-Linux_x86.run Host OS: Linux Mint 14 Xfce Setup Network ...

  10. STM32—PID控制在直流电机中的应用

    文章目录 一.PID控制算法 1.什么是PID 2.PID系数的理解 Ⅰ.比例(P)部分 Ⅱ.积分(I)部分 Ⅲ.微分(D)部分 3.PID的数字化处理 二.位置闭环控制 三.速度闭环控制 一.PID ...