如何从.NET控制台调用JSON WebService

时间:2015-10-14 12:09:38

标签: c# json web-services

我正在尝试在c#console应用程序中使用JSON Web服务。 Web服务正在使用HTTP基本身份验证。我无法在我的控制台应用程序中访问。

代码示例......

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"https://0000.000.0.000:0000/hrms/rest/login");
request.Method = "POST";
request.ContentType = @"application/json";
//request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("sharads:hrms123"));
HttpWebResponse resp = request.GetResponse() as HttpWebResponse;

1 个答案:

答案 0 :(得分:0)

您可以使用HttpClient将HTTP请求发送到JSON Webservice。例如

HttpClient httpClient = new HttpClient();
httpClient.BaseAddress = new Uri(url);
httpClient.DefaultRequestHeaders.Authorization = 
    new AuthenticationHeaderValue(
        "Basic", 
        Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "yourusername", "yourpwd"))));


HttpResponseMessage reponse = httpClient.GetAsync("api/enumproducts/GetAll").Result;
if (reponse.IsSuccessStatusCode)
{
var enumProducts = reponse.Content.ReadAsAsync<List<EnumProduct>>().Result;
}

HttpClient也支持POST Action。有关详细信息,您可以查看此blog post