Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
92 views
in Technique[技术] by (71.8m points)

python - Difference between using requests.get() and requests.session().get()?

Sometimes I see people invoke web API using requests.Session object:

client = requests.session()
resp = client.get(url='...')

But sometimes they don't:

resp = requests.get(url='...')

Can somebody explain when should we use Session and when we don't need them?

question from:https://stackoverflow.com/questions/32986228/difference-between-using-requests-get-and-requests-session-get

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Under the hood, requests.get() creates a new Session object for each request made.

By creating a session object up front, you get to reuse the session; this lets you persist cookies, for example, and lets you re-use settings to be used for all connections such as headers and query parameters. To top this all off, sessions let you take advantage of connection pooling; reusing connections to the same host.

See the Sessions documentation:

The Session object allows you to persist certain parameters across requests. It also persists cookies across all requests made from the Session instance, and will use urllib3‘s connection pooling. So if you’re making several requests to the same host, the underlying TCP connection will be reused, which can result in a significant performance increase (see HTTP persistent connection).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

Just Browsing Browsing

[1] html - How to create even cell spacing within a

1.4m articles

1.4m replys

5 comments

57.0k users

...