Я собрал пример кода, который показывает, что я имею в виду. Я пытаюсь загрузить два разных таблица, один из Ti, другой от ST. Оба существуют, и я могу загрузить их с помощью любого браузера (даже в режиме инкогнито) < /p>
Я использую один и тот же код для обоих. Один из них, другой нет, другой нет, и я абсолютно понятия не имею, почему. < /P>
internal class Program
{
static void Main(string[] args)
{
var task = Xx1();
task.Wait();
}
private static async Task Xx1()
{
HttpClientHandler handler = new HttpClientHandler()
{
AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate,
AllowAutoRedirect = true,
CheckCertificateRevocationList = false,
UseProxy = false
};
var httpClient = new HttpClient(handler);
httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36");
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
httpClient.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("gzip"));
httpClient.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("deflate"));
httpClient.Timeout = TimeSpan.FromSeconds(10);
try
{
var httpResult1 = await httpClient.GetAsync("https://www.ti.com/lit/gpn/TPS723").ConfigureAwait(false);
httpResult1.EnsureSuccessStatusCode();
var resultBytes1 = await httpResult1.Content.ReadAsByteArrayAsync().ConfigureAwait(false);
Console.WriteLine(resultBytes1.Length);
}
catch (TaskCanceledException taskCanceledException)
{
Console.WriteLine("1 Request timed out: " + taskCanceledException.Message);
}
catch (Exception exception)
{
Console.WriteLine("1 An error occurred: " + exception.Message);
}
try
{
var httpResult2 = await httpClient.GetAsync("https://www.st.com/resource/en/datasheet/stlq015.pdf").ConfigureAwait(false);
httpResult2.EnsureSuccessStatusCode();
var resultBytes2 = await httpResult2.Content.ReadAsByteArrayAsync().ConfigureAwait(false);
Console.WriteLine(resultBytes2.Length);
}
catch (TaskCanceledException taskCanceledException)
{
Console.WriteLine("2 Request timed out: " + taskCanceledException.Message);
}
catch (Exception exception)
{
Console.WriteLine("2 An error occurred: " + exception.Message);
}
}
}
< /code>
Я думаю, что это связано с STS Webserver, но я не знаю, в чем это причина и как я могу обойти его. Любая помощь высоко ценится.
Подробнее здесь: https://stackoverflow.com/questions/796 ... rstand-why