Lire en en-tête de réponse du client web en C#
Je suis en train de créer mon premier client windows (et c'est mon poing post), il doit communiquer avec un "web services", mais j'ai du mal à lire l'en-tête de réponse, il est de retour. Dans ma chaîne de réponse à faire, j'ai reçu un joli document JSON en arrière (ce qui est mon prochain problème), mais je ne suis pas en mesure de "voir/lire" la tête dans la réponse, seul le corps.
Ci-dessous le code que j'utilise.
WebClient MyClient = new WebClient();
MyClient.Headers.Add("Content-Type", "application/json");
MyClient.Headers.Add("User-Agent", "DIMS /0.1 +http://www.xxx.dk");
var urlstring = "http://api.xxx.com/users/" + Username.Text;
string response = MyClient.DownloadString(urlstring.ToString());
OriginalL'auteur user3352795 | 2014-02-25
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le client web.ResponseHeaders comme ceci:
De https://msdn.microsoft.com/en-us/library/system.net.webclient.responseheaders(v=vs. 110).aspx
pour sh!ts et de pouffer de rire, si quelqu'un est à l'aide de RestSharp et vient à travers ce post, vous feriez quelque chose comme ça avec le retour des en-têtes (testé et fonctionne): for (int i = 0; i < réponse.Les en-têtes.Count; i++) { headerString = headerString + réponse.Les en-têtes[i].Nom + ": "+ réponse.Les en-têtes[i].Valeur + ((char)10); }
OriginalL'auteur RMazitov
Si vous voulez voir la réponse complète, je vous suggère d'utiliser
WebRequest
/WebResponse
au lieu deWebClient
. C'est un peu plus faible au niveau de l'API -WebClient
est destinée à rendre très simple des tâches (telles que le téléchargement du corps d'une réponse sous forme de chaîne) simple.(Ou dans .NET 4.5 vous pouvez utiliser
HttpClient
.)OriginalL'auteur Jon Skeet
Voici un exemple de comment utiliser WebRequest/WebResponse, qui est ce que @Jon Skeet était en train de parler.
Aussi je vous recommande vraiment de vous résumé le http logique de son propre objet et le passer dans l'url, UserAgent et ContentType.
OriginalL'auteur null_pointer
Une manière simple à l'aide de WebClient(), combiné avec le MSDN exemple comme mentionné ci-dessus (MSDN exemple n'est pas explicitement expliquer comment lancer la demande). Ne soyez pas confus par le
Properties.Settings.Default.XXXX
valeurs, ce sont juste des variables de type chaîne de lire à partir de l'App.le fichier de paramètres. J'espère que cela aide:OriginalL'auteur fRENCHfRIES64
Cela fonctionne aussi trop
OriginalL'auteur Tim Davis
Le code ci-dessous est très similaire à la documentation MSDN mais je l'utilise
Headers
au lieu de laResponseHeaders
et n'a pas reçu la référence nulle exception que j'ai reçu lors de l'exécution du code MSDN.https://msdn.microsoft.com/en-us/library/system.net.webclient.responseheaders(v=vs. 110).aspx
OriginalL'auteur Gaspare Bonventre