Httpclient - Запросить время, но я не понимаю, почемуC#

Место общения программистов C#
Ответить
Anonymous
 Httpclient - Запросить время, но я не понимаю, почему

Сообщение Anonymous »

Я собрал пример кода, который показывает, что я имею в виду. Я пытаюсь загрузить два разных таблица, один из 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»