2009-08-11 7 views
2

Quelle est la meilleure façon de consommer un service Web REST sécurisé en C#? Le nom d'utilisateur et le mot de passe du service Web sont fournis dans l'URL ...C# - Consommation du service Web REST sur https

+6

Un service Web qui prend un nom d'utilisateur et un mot de passe fournis dans l'URL n'est pas sécurisé. – jro

Répondre

0

D'après les quelques informations que vous avez fournies, je dirais que l'utilisation de la classe HttpWebRequest est votre meilleure option.

Il est relativement facile à utiliser, il existe de nombreux exemples d'utilisation et il fonctionnera avec tout type de média que l'interface REST délivre. Vous avez un accès complet aux codes d'état Http et aux en-têtes Http.

Que demander de plus?

5

Plusieurs options:

HttpWebRequest classe. Puissant mais parfois complexe à utiliser.

Classe WebClient. Moins de fonctionnalités, mais devrait fonctionner pour des services web plus simples, et beaucoup plus simple.

Le nouveau HttpClient dans le kit de démarrage WCF REST. (Le Starter Kit est un téléchargement séparé qui ne fait pas partie du .NET Framework).

+0

La classe HttpClient est excellente. –

2

Utilisez la classe WebRequest pour effectuer la demande et HttpWebResponse pour obtenir la réponse.

J'ai utilisé le code suivant pour consommer webservice.Mon nom d'utilisateur, mot de passe et Url sont enregistrés dans les variables UserName, Pwd et Url respectivement.

WebRequest Webrequest; 
HttpWebResponse response; 

Webrequest = WebRequest.Create(Url); 
byte[] auth1 = Encoding.UTF8.GetBytes(UserName + ":" + Pwd); 
Webrequest.Headers["Authorization"] = "Basic " + System.Convert.ToBase64String(auth1); 
Webrequest.Method = "GET"; 
Webrequest.ContentType = "application/atom+xml"; 

response = (HttpWebResponse)Webrequest.GetResponse(); 
Stream streamResponse = response.GetResponseStream(); 
StreamReader streamReader = new StreamReader(streamResponse); 
string Response = streamReader.ReadToEnd(); 

La chaîne de réponse sera disponible dans la variable Response.

Questions connexes