Мне нужно получить данные от веб-службы REST другой компании, и я никогда не делал этого. Я думаю, что я на правильном пути, но даже не уверен в этом. Я знаю, что мне не хватает полного URL (не знаю, где я должен его поместить), и я не знаю, что делать, если я успешно получу результаты json. Пожалуйста, помогите.
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
namespace GetData
{
public class ReceiptHeader
{
private string _company;
private string _warehouse;
public ReceiptHeader()
{ }
public string Company
{
get { return _company; }
set { _company = value; }
}
public string Warehouse
{
get { return _warehouse; }
set { _warehouse = value; }
}
}
class Program
{
static HttpClient client = new HttpClient();
static void ShowHeader(ReceiptHeader crh)
{
Console.WriteLine($"Company: {crh.Company}\tWarehouse: " +
$"{crh.Warehouse}");
}
static async Task<ReceiptHeader> GetRHAsync(string path)
{
ReceiptHeader HeaderInfo = null;
HttpResponseMessage response = await client.GetAsync(path);
if (response.IsSuccessStatusCode)
{
HeaderInfo = await response.Content.ReadAsAsync<ReceiptHeader>();
}
return HeaderInfo;
}
static void Main()
{
RunAsync().GetAwaiter().GetResult();
}
static async Task RunAsync()
{
// Update port # in the following line.
client.BaseAddress = new Uri("https://externalwebaddress.com/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", "TOKEN");
try
{
// Get the header
crh = await GetRHAsync(url.PathAndQuery);
ShowHeader(crh);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.ReadLine();
}
}
}