C# HttpClient RestAPI Get
비동기 HttpClient
public static async Task<string> AlarmAsync(string bearer, string id, bool isReturnResponseMessage = false)
{
//ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; // 인증
string result = string.Empty;
try
{
var cl = new HttpClient();
cl.BaseAddress = new Uri(BaseUrl);
cl.Timeout = TimeSpan.FromSeconds(3);
cl.DefaultRequestHeaders.Add("accept", " application/+json");
cl.DefaultRequestHeaders.Add("authorization", "Bearer " + bearer);
HttpResponseMessage response = await cl.GetAsync("devices?ids=");
var jsonString = await response.Content.ReadAsStringAsync();
if (isReturnResponseMessage)
{
return jsonString;
}
List<AlarmResponse> array = JsonConvert.DeserializeObject<List<AlarmResponse>>(jsonString);
if (array.Count > 0)
{
if (array[0].alarms.Count > 0)
{
result = array[0].alarms[0].alarms_type;
}
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
return result;
}
동기 WebRequest
public class CrestAPI
{
public string Get(string uri)
{
string responseFromServer = string.Empty;
try
{
WebRequest request = WebRequest.Create(uri);
request.Method = "GET";
request.ContentType = "application/json";
//request.Headers["user-agent"] = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
using (WebResponse response = request.GetResponse())
using (Stream dataStream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(dataStream))
{
responseFromServer = reader.ReadToEnd().Replace("access_token=", "");
Console.WriteLine(responseFromServer);
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
return responseFromServer;
}
}
'C# > Network' 카테고리의 다른 글
C# Ping 테스트, 해당 IP 장치 이름 가져오기 (0) | 2020.08.07 |
---|---|
C# 네트워크 상 맥어드레스 가져오기 (0) | 2020.08.07 |
C# http post header body (0) | 2020.08.07 |
C# HttpClient RestAPI Post (0) | 2020.08.05 |
C# HttpClient RestAPI Patch (0) | 2020.08.04 |