簡體   English   中英

C# - 通過https使用REST Web服務

[英]C# - Consuming REST web service over https

在C#中使用安全REST Web服務的最佳方法是什么? URL服務用戶名和密碼在URL中提供...

幾個選項:

HttpWebRequest類。 功能強大但有時使用起來很復雜。

WebClient類。 功能較少,但應該適用於更簡單的Web服務,並且更簡單。

WCF REST入門套件中的新HttpClient。 (入門套件是單獨下載,不是.NET Framework的一部分)。

使用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可用。

我希望URL中的密碼是somwhow加密:)。 也許這會對你有所幫助:

http://social.msdn.microsoft.com/forums/en-US/wcf/thread/3c8db0bf-984e-426b-b068-d80165ed1b37/

根據您提供的少量信息,我會說使用HttpWebRequest類是您的最佳選擇。

它相對容易使用,有很多如何使用它的例子,它可以與REST接口提供的任何媒體類型一起使用。 您可以完全訪問Http狀態代碼和Http Headers。

你還能要求什么呢?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM