C# - 通过 https 使用 REST Web 服务

发布于 2024-08-01 17:06:53 字数 64 浏览 1 评论 0原文

在 C# 中使用安全 REST Web 服务的最佳方式是什么? Web 服务用户名和密码在 URL 中提供...

What's the best way to consume secure REST web service in C#? Web Service username and password are supplied in URL...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

好菇凉咱不稀罕他 2024-08-08 17:06:53

几个选项:

HttpWebRequest 类。 功能强大但有时使用起来很复杂。

WebClient 类。 功能较少,但应该适用于更简单的 Web 服务,而且更简单。

WCF REST 入门工具包中的新 HttpClient。 (入门工具包是单独下载的,不是 .NET Framework 的一部分)。

Several options:

HttpWebRequest class. Powerful but sometimes complex to use.

WebClient class. Less features, but should work for simpler web services, and much simpler.

The new HttpClient in the WCF REST Starter Kit. (The Starter Kit is a separate download, not a part of the .NET Framework).

﹏雨一样淡蓝的深情 2024-08-08 17:06:53

使用 WebRequest 类发出请求,使用 HttpWebResponse 类获取响应。

我使用以下代码来使用Web服务。我的用户名、密码和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中可用。

Use WebRequest class to make the request and HttpWebResponse to get the response.

I used following code for consuming webservice.My user name,password and Url are saved in variables UserName,Pwd and Url respectively.

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 string will be available in variable Response.

我喜欢麦丽素 2024-08-08 17:06:53

我希望 URL 中的密码经过某种程度的加密:)。 也许这会对您有所帮助:

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

I hope the password in the URL is somwhow encrypted :). Maybe this will help you:

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

雪若未夕 2024-08-08 17:06:53

根据您提供的少量信息,我想说使用 HttpWebRequest 类是您的最佳选择。

它相对容易使用,有很多如何使用它的示例,并且它可以与 REST 接口提供的任何媒体类型一起使用。 您拥有对 Http 状态代码和 Http 标头的完全访问权限。

你还能要求什么呢?

Based on the little information you provided I would say that using the HttpWebRequest class is your best option.

It is relatively easy to use, there are lots of examples of how to use it and it will work with any media-type the REST interface delivers. You have full access to Http status codes, and Http Headers.

What more can you ask for?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文