Open jwwsjlm opened 5 days ago
Use other tools. httpserver returns lowercase.
it's possible when you force HTTP1, this can be set in client options
it's possible when you force HTTP1, this can be set in client options
Is there any way to get the original response protocol header?
what do you mean
what do you mean
https://github.com/luminati-io/luminati-proxy
Hmm. I mainly want to use it to develop a middleware or something like that. Other languages can use golang to send requests through a proxy. But there is a problem that the net\http package will correct the case of the protocol header. For other clients, they need to be handled separately, which is very troublesome. Something like this
what do you mean
However, when the middleware forwards data, the server returns lowercase letters, and the middleware sends it to the client in uppercase letters, causing the client to not recognize it.
So I hope to get the raw bytes or unprocessed response headers
what do you mean
This is indeed not in compliance with the specification. However, as a middleware, it can perfectly copy what the client requests and what the server responds to. In the middle, tls-client is used to perform tls fingerprint randomization.
TLS client version
v1.3.12
System information
windows10,64
Issue description
As shown in the figure, I used net/http to create an httpServe, and the response protocol header was set to x-custom-header. Note that it is lowercase. When tested with other tools, the responses were all lowercase. However, when using tls_client.NewHttpClient-client.Do(req) to send a request, taking resp.Header, it will become uppercase. I know this is a standard. But is there any way to get the original format?
Steps to reproduce / Code Sample
`func main() {
}`