【发布时间】:2017-07-11 05:09:21
【问题描述】:
我想从 windows 应用程序调用 web api。
【问题讨论】:
-
你能发布你目前拥有的代码吗?
-
我不知道如何解决这个问题。我需要帮助。但我正在将数据获取到网格视图我这样做了。但是如何从 win 表单中查看登录信息?
标签: c# asp.net-web-api
我想从 windows 应用程序调用 web api。
【问题讨论】:
标签: c# asp.net-web-api
您可以使用 WebRequest 来调用您的 WebApi。这些线上的东西。很难理解你到底想要什么。提问时,试着详细说明你已经尝试过什么,什么失败了。这不是编码服务。
WebRequest request = WebRequest.Create("http://webapiaddress");
request.Credentials = new System.Net.NetworkCredential("username", "password");
更多信息后编辑:
你可以在这些行上使用一些东西:
public async Task<TResult> GetAsync<TResult>(string uriString) where TResult : class
{
var uri = new Uri(uriString);
using (var client = GetHttpClient())
{
HttpResponseMessage response = await client.GetAsync(uri);
if (response.StatusCode != HttpStatusCode.OK)
{
//Log.Error(response.ReasonPhrase);
return default(TResult);
}
var json = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<TResult>(json, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() });
}
}
private HttpClient GetHttpClient()
{
var client = new HttpClient();
var username = // get your username
var password = // get your password
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes($"{username}:{password}")));
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
return client;
}
【讨论】:
var client = new HttpClient();
var stringContent = new StringContent(JsonConvert.SerializeObject(objuser), Encoding.UTF8, "application/x-www-form-urlencoded");
stringContent.Headers.Add("j_username", objuser.j_username);
stringContent.Headers.Add("j_password", objuser.j_password);
HttpResponseMessage response = client.PostAsync(@"URL"?j_username=" + objuser.j_username + "&j_password=" + HttpUtility.UrlEncode(objuser.j_password), stringContent).Result;
string path2 = "URL/getall";
var response1 = await client.GetAsync(path2);
var data = await response1.Content.ReadAsStringAsync();
if (true)
{
var data2 = JsonConvert.DeserializeObject<RootObject>(data);
}
【讨论】: