python-requests 必需如下使用才能保持keep-alive
import requests
session = requests.session()
session.get('http://www.qq.com')
session.get('http://www.qq.com')
#輸出如下
>>INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): www.qq.com
>>DEBUG:requests.packages.urllib3.connectionpool:"GET / HTTP/1.1" 200 None
>>DEBUG:requests.packages.urllib3.connectionpool:"GET / HTTP/1.1" 200 None
其官網提供的調試的方法是會產生新連接的,可以通過以下方法設置log爲debug看到:
logging.BASIC_FORMAT = '%%(levelname)s - %(filename)s[%(lineno)d]- %(message)s'
logging.basicConfig() # you need to initialize logging, otherwise you will not see anything from requests
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True
# 第一次調用,log會輸出創建一個新連接並放進連接池
requests.get('http://www.qq.com')
# 第二次調用,log依然輸出創建一個新連接並放進連接池
requests.get('http://www.qq.com')
#輸出如下:
>>INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): www.qq.com
>>DEBUG:requests.packages.urllib3.connectionpool:"GET / HTTP/1.1" 200 None
>>INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): www.qq.com
>>DEBUG:requests.packages.urllib3.connectionpool:"GET / HTTP/1.1" 200 None
Edit By MaHua