L'envoi d'en-tête de connexion défini comme keep-alive
Je suis en train d'envoyer la même information à partir de mon application que j'envoie à partir du navigateur. Voici une partie des données saisies par Fiddler:
POST http://something/HTTP/1.1
Host: something.com
Connection: keep-alive
Je me suis coincé avec cette propriété de connexion. Si j'ai mis la propriété keep-alive de vrai, dans un violon, je vois ceci:
Proxy-Connection: Keep-Alive
Si j'essaie de définir la propriété connection Keep-alive, j'obtiens cette erreur:
Keep-Alive et à Proximité ne peut pas être défini à l'aide de cette propriété.
Comment écrire le code de sorte que dans un violon, je peux voir ceci:
Connection: keep-alive
Mon code complet:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://myUrl ");
request.Method = "POST";
request.ProtocolVersion = HttpVersion.Version11;
request.Accept = "*/*";
WebHeaderCollection headers = new WebHeaderCollection();
headers.Add("Accept-Encoding", "myEncoding");
headers.Add("Accept-Language", "myLang");
request.Headers = headers;
request.ContentType = "myContentType";
request.Referer = "myReferer";
request.UserAgent = "myUserAgent";
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = "myData";
byte[] data = encoding.GetBytes(postData);
request.GetResponse().Close();
OriginalL'auteur Milan Novotný | 2013-08-26
Vous devez vous connecter pour publier un commentaire.
À votre demande envoyer un
Connection: Keep-Alive
en-tête, utilisez le KeepAlive bien sur laHttpWebRequest
objet.Quand un client sait qu'il est derrière un proxy (comme Violoniste), il peut envoyer un
Proxy-Connection: Keep-Alive
en-tête au lieu d'unConnection: Keep-Alive
en-tête. L'espoir est que HTTP/1.1 proxy (comme Fiddler) de les convertir en-tête deProxy-Connection
àConnection
avant de le transmettre au serveur en amont.Ce "proxy renomme en-tête" modèle a été introduit il y a plusieurs années de tentative de contournement se bloque dans les serveurs HTTP/1.0 qui n'a pas de soutien
Keep-Alive
correctement; l'idée est que le serveur serait ignorer leProxy-Connection
- tête si l'obsolètes proxy n'a pas renommer l'en-tête en retrait de laProxy-
préfixe.Généralement oui. Essayez de visiter bayden.com/echo.aspx par exemple.
Génial, merci!
Comment pouvons-nous corriger si fiddler N'est PAS le renommer? Le mien semble intermittenly pas le renommer pour la même application et la même demande. parfois ça marche et parfois ça ne marche pas
OriginalL'auteur EricLaw