Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proxy support #36

Closed
tomchristie opened this issue May 2, 2019 · 6 comments
Closed

Proxy support #36

tomchristie opened this issue May 2, 2019 · 6 comments
Labels
help wanted Extra attention is needed interop Issues interoperating with existing websites and services

Comments

@tomchristie
Copy link
Member

Best place to look would be urllib3.
Will need to be handled by the "dispatch" layer.

@sethmlarson
Copy link
Contributor

Thoughts on implementing sans-I/O proxy handlers as a part of connection generation? Most proxy interchanges aren't as complex.

@tomchristie
Copy link
Member Author

I’ve not really looked into what needs to change for proxy support on each of http, https.

Is there a good resource to point at, or summary of the difference in how the request is formed in each of those two cases?

@sethmlarson
Copy link
Contributor

HTTP/HTTPS: Send a request with method=CONNECT, target=[host]:[port] along with proxy headers, if you get a 2XX response back then you start using that TCP connection as a tunnel immediately.
SOCKS4: Similar but uses it's own protocol to request a TCP tunnel. Has own authentication.
SOCKS4a: Same as above but DNS resolution can occur on the client side or proxy-side.
SOCKS5: Same as above but different protocol.

Basically all proxies have three states: Waiting for Response, Proxy Tunnel Ready, and Proxy Error.

@sethmlarson sethmlarson added the interop Issues interoperating with existing websites and services label Jul 30, 2019
@qwerty32123
Copy link

is http/s proxy support for httpx currently?

@sethmlarson
Copy link
Contributor

Not currently, we would happily accept a PR from anyone willing to tackle even one of the above proxy scenarios. :)

@florimondmanca
Copy link
Member

@sethmlarson Closing this since I think we now have the basics in (HTTP/HTTPS, forward/tunnel) and SOCKS proxy is tracked in #203. If I missed something anyone please reopen. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed interop Issues interoperating with existing websites and services
Projects
None yet
Development

No branches or pull requests

4 participants