noopside
Re:Python Requests is getting an interesting alternative
on Thursday October 31, 2024 @05:25AM (#42004906)
neither does this alternative
Show HN: Compete with compiled aiohttp using HTTP/2 and HTTP/3
Revived the promise made six years ago for Requests 3
Support Happy Eyeballs Even with QUIC / HTTP3 in Python
Re:Show HN: "Safest, Fastest, Easiest, and Most Advanced" Python HTTP ...
on Wednesday March 06, 2024 @01:16AM (#39612860)
will be glad to answer any concerns if you encounter any, the repo issue tracker will welcome your feedbacks.
Re:Show HN: "Safest, Fastest, Easiest, and Most Advanced" Python HTTP ...
on Tuesday March 05, 2024 @10:36PM (#39612022)
Glad to hear that. This is actually planned, the miscellaneous control for networking fingerprint (mimic chrome tls handshake). will come soon enough.
for now, my own experience shows that it is more resilient as is (with appropriate headers (order being kept already).
Re:Show HN: "Safest, Fastest, Easiest, and Most Advanced" Python HTTP ...
on Tuesday March 05, 2024 @09:57AM (#39604223)
Re:Show HN: "Safest, Fastest, Easiest, and Most Advanced" Python HTTP ...
on Tuesday March 05, 2024 @09:53AM (#39604160)
This would be done gladly. Open an issue at urllib3.future and a proper tracking will be made.
The internal resolver is recursive, so CNAME are automatically translated into addresses. What remain is the happy eyeball implementation, which is almost completed already. we wanted to wait for an harmonious feature (e.g. available across all 3 protocols)
but can be speeded up if really needed.
Re:Show HN: "Safest, Fastest, Easiest, and Most Advanced" Python HTTP ...
on Tuesday March 05, 2024 @08:42AM (#39603266)
Not yet, but is coming soon. We have a minor technical challenge to make it work with QUIC.
Show HN: "Safest, Fastest, Easiest, and Most Advanced" Python HTTP Client
Urllib3.future is as BoringSSL is to OpenSSL but to urllib3 with support
Re:The biggest leap forward in HTTP clients for Python in years
on Monday January 08, 2024 @09:13AM (#38912160)
Great question,
In a nutshell, Niquests goes way beyond httpx capabilities by actually leveraging HTTP/2+ protocols, they are quite shy on its support (HTTP/2) due to the current inability of issuing concurrent requests in a synchronous context.
Moreover, this solution has a stable API, and httpx did not settle as of yet (v1 milestone).
In terms of performance, they offers similar performances in similar contexts, but keep in mind that Niquests has a higher level of features while keeping a near perfect compatibility with its origin, aka. Requests. Then, when using a multiplexed connection, you can easily beat any mainstream HTTP clients while in a synchronous context.
Finaly, no one propose DNS over HTTPS, QUIC, TLS, etc.. As well as DNSSEC, OCSP Certificate Status, Network fine tuning settings, etc..
All of those configurable with a mere simple parameter. It aim at keeping the level of simplicity you grown fund of when discovering Requests. There's more, but I am going to let you discover it by yourself. There's also an article you may find interesting called "10 reasons to quit your HTTP client" onto the README.
Re:The biggest leap forward in HTTP clients for Python in years
on Monday January 08, 2024 @03:36AM (#38909493)
Many things, starting with true support for recent protocols. Until now, no solution were able to leverage multiplexing and couldn't issue concurrent requests using one connection. This permit to avoid useless threading and complexity.
Then, about security, plain DNS is over 30 years old, and we still rely on it to resolve hostnames, it is dangerous to say the least. With support for encrypted DNS and DNSSEC, you raise the bar higher for potential attacker. Then about certificate validation, you cannot be sure the certificate is not revoked without this solution. Almost every dependencies in the chain are SLSA signed, thus almost eliminating some risks.
Finally, getting a fresh evolution without having to re-learn anything or re invent the wheel has some perks. This solution extend the well known Requests and provide both sync and async interfaces, almost no change required.
And more, but I'll let you discover the rest by yourself.