2009-08-11 19 views
2

C#で安全なREST Webサービスを使用する最も良い方法は何ですか? Webサービスのユーザー名とパスワードはURLで提供されています。C# - HTTP経由でREST Webサービスを使用する

+6

URLに入力されたユーザー名とパスワードを使用するWebサービスは安全ではありません。 – jro

答えて

0

ご提供いただいた小さな情報に基づいて、私はHttpWebRequestクラスを使用することが最良の選択であると言います。

比較的使いやすく、使い方の例が多く、RESTインターフェイスが提供するすべてのメディアタイプで動作します。 HttpステータスコードとHttpヘッダーには完全にアクセスできます。

さらに何を求めることができますか?

5

いくつかのオプション:

は、HttpWebRequestクラスを。強力ですが、時には複雑なものです。

WebClientクラス。機能は少なくなりますが、よりシンプルなWebサービスで動作するはずです。

WCF RESTスターターキットの新しいHttpClient。 (スターターキットは.NET Frameworkの一部ではなく、別個のダウンロードです)。

+0

HttpClientクラスは優れています。 –

2

WebRequestクラスを使用して要求を行い、HttpWebResponseを使用して応答を取得します。

webservice.Myユーザ名、パスワード、およびURLを消費するために次のコードを使用しました。変数UserName、PwdおよびUrlにそれぞれ保存されています。

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(); 

応答文字列は、変数Responseで利用できます。

関連する問題