Comments (12)
Interesting idea!
Are you thinking something along the lines of...
with requests.settings(path='http://example.org', timeout=10) as r:
response = r.get('/path/to/file.txt')
...?
from requests.
Heh, neat path idea.
I was thinking:
with requests.settings(timeout=10, auth=('a', 'b'), proxies={'http': 'localhost:8080'}):
requests.get('http://blah.com/', params={'x': 'y'})
from requests.
either way I think that's awesome.
from requests.
Let's do it :)
from requests.
Maybe this would be better:
with requests.settings(timeout=10, auth=('a', 'b'), proxies={'http': 'localhost:8080'}) as r:
r.get('http://blah.com/')
This would escape the threading/processes issues.
from requests.
If there's a way to detect if someone's using as r
, then I'm all for doing it now. Otherwise, I'm going to think about it for a while.
from requests.
My thought is always that explicit is better than implicit. And intuitiveness goes along with it. So then are context processors more explicit and are they intuitive?
This does look like a divergence from the intuitive aspect of Requests that I like so much. I can point other newbies at it and they just get it. I'm open to ideas, but keep in mind your audience. Use of context processors could be for advanced users, and be given appropriate documentation.
from requests.
Great points.
If I do decide to implement this, it would be supplementary. All of the functions will accept the same paramaters they do now as well.
from requests.
Maybe I'll hold off on this for now.
Currently, you can do the following
>>> with requests.settings(verbose=sys.stderr):
... requests.get('http://httpbin.org/ip')
2011-06-23T21:23:18.422726 GET http://httpbin.org/ip
<Response [200]>
>>> requests.get('http://httpbin.org/ip')
<Response [200]>
As an alternative to:
>>> requests.settings.verbose=sys.stderr
>>> requests.get('http://httpbin.org/ip')
2011-06-23T21:23:18.422726 GET http://httpbin.org/ip
<Response [200]>
>>> requests.settings.verbose=None
>>> requests.get('http://httpbin.org/ip')
<Response [200]>
I love this.
Maybe, it would just be best to move proxies into the settings module instead of being required to be passed into each request function for now.
from requests.
Decided: current settings
singleton use is a non-issue because request.settings
should only manage (supplementarily) all-encompassing settings (timeouts, proxies, etc).
Auth Management still needs to be rethought.
from requests.
See #75 for Re: Proxy
from requests.
I'd also like to move all non-essential keyword arguments (timeout, proxies, cookies) into a well-documented and constient **kwargs
again. This will solve the 'paramaters getting out of hand' issue.
Closed.
from requests.
Related Issues (20)
- Request can't get berkshirehathaway letters.html correctly HOT 1
- "Transfer-Encoding" header is ignored HOT 1
- Body with Special Characters Gets Cut HOT 9
- permission denied regression reading extracted certs with multiple users HOT 1
- 一个while True requests运行的爬虫程序,会报错:HTTPSConnectionPool(host='***', port=443): Max retries exceeded with url: /aa (Caused by SSLError(OSError(24, 'Too many open files'))) HOT 1
- Same code works with Python 3.10 but not with 3.11 HOT 2
- With setuptools 72.0.0 requests can no longer be installed from git HOT 5
- Documentation of what to override when using custom adapter HOT 1
- What should be Overwritten to ignore all verification in a custom adapter? HOT 2
- Request for py3.7 support HOT 1
- Support for py3.7 HOT 1
- Doc: missing example HOT 2
- QUIC over Socks5/UDP capable proxy is not working. HOT 3
- Multiple path separators causes bad requests
- Any ipv6 request spuriously stays stuck for a long time, sometimes never progressing HOT 1
- Time between request sent and first byte received (time to first byte) HOT 1
- Import time regression
- Add Warning for Incorrect Keyword Arguments in POST Requests (e.g., 'header' instead of 'headers') HOT 1
- Cannot close the proxy
- Requests changes the URL on GET HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from requests.