private
const
string
DefaultServerIp =
"x.x.x.x"
;
private
const
string
AlternateServerIp =
"x.x.x.x"
;
private
const
string
UserAgent =
"Mozilla/5.2 (KHTML-XVA)"
;
private
const
int
TimeoutMilliseconds = 5000;
private
string
_authToken;
public
async
Task<
string
> FetchDataAsync(
string
endpoint,
string
id =
""
)
{
string
serverIp = DefaultServerIp;
string
result =
string
.Empty;
try
{
string
url = $
"http://{serverIp}:6096/api/{endpoint}{(string.IsNullOrEmpty(id) ? "
" : $"
/{id}
")}"
;
using
(
var
request = (HttpWebRequest)WebRequest.Create(url))
{
request.UserAgent = UserAgent;
request.Headers.Add(
"CL"
, Convert.ToBase64String(Encoding.UTF8.GetBytes(_authToken)));
request.Timeout = TimeoutMilliseconds;
using
(
var
response =
await
request.GetResponseAsync()
as
HttpWebResponse)
using
(
var
stream = response.GetResponseStream())
using
(
var
reader =
new
StreamReader(stream, Encoding.UTF8))
{
result =
await
reader.ReadToEndAsync();
}
}
}
catch
(Exception ex)
{
Console.WriteLine($
"Error: {ex.Message}"
);
serverIp = serverIp == DefaultServerIp ? AlternateServerIp : DefaultServerIp;
result =
"X"
;
}
return
result;
}