35 lines
1.7 KiB
C#
35 lines
1.7 KiB
C#
using Microsoft.Data.Sqlite;
|
|
|
|
var conn = new SqliteConnection(@"Data Source=C:\Users\koi\source\repos\Ai\TrafagSalesExporter\trafag_exporter.db");
|
|
await conn.OpenAsync();
|
|
string sapUsername = "", sapPassword = "";
|
|
var cmd = conn.CreateCommand();
|
|
cmd.CommandText = "select SapUsername, SapPassword from ExportSettings limit 1";
|
|
using (var r = await cmd.ExecuteReaderAsync())
|
|
{
|
|
if (await r.ReadAsync())
|
|
{
|
|
sapUsername = r.IsDBNull(0) ? "" : r.GetString(0);
|
|
sapPassword = r.IsDBNull(1) ? "" : r.GetString(1);
|
|
}
|
|
}
|
|
if (string.IsNullOrWhiteSpace(sapUsername) || string.IsNullOrWhiteSpace(sapPassword)) throw new Exception("Central SAP credentials missing");
|
|
var serviceUrl = @"http://travt762.sap.trafag.com:8000/sap/opu/odata/sap/ZPOWERBI_EINKAUF_SRV/";
|
|
using var client = new HttpClient();
|
|
client.Timeout = TimeSpan.FromSeconds(20);
|
|
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes($"{sapUsername}:{sapPassword}")));
|
|
foreach (var url in new[] { serviceUrl, serviceUrl + "" })
|
|
{
|
|
Console.WriteLine($"URL|{url}");
|
|
using var response = await client.GetAsync(url);
|
|
Console.WriteLine($"STATUS|{(int)response.StatusCode}|{response.ReasonPhrase}");
|
|
foreach (var header in response.Headers)
|
|
Console.WriteLine($"HEADER|{header.Key}|{string.Join(",", header.Value)}");
|
|
foreach (var header in response.Content.Headers)
|
|
Console.WriteLine($"HEADER|{header.Key}|{string.Join(",", header.Value)}");
|
|
var body = await response.Content.ReadAsStringAsync();
|
|
Console.WriteLine("BODY_START");
|
|
Console.WriteLine(body.Length > 5000 ? body[..5000] : body);
|
|
Console.WriteLine("BODY_END");
|
|
}
|