HttpClient.GetAsync не работает для определенного URL-адресаC#

Место общения программистов C#
Anonymous
HttpClient.GetAsync не работает для определенного URL-адреса

Сообщение Anonymous »

Для этого действительного URL:

Код: Выделить всё

https://open.spotify.com/oembed?url=https%3A%2F%2Fopen.spotify.com%2Fplaylist%2F37i9dQZF1DWTggY0yqBxES
Вызов метода GetAsync HttpClient завершается с ошибкой 500.
Минимальное воспроизведение:

Код: Выделить всё

var client = new HttpClient();
var res = await client.GetAsync(
"https://open.spotify.com/oembed?url=https%3A%2F%2Fopen.spotify.com%2Fplaylist%2F37i9dQZF1DWTggY0yqBxES");

Console.WriteLine(res.StatusCode); // InternalServerError
Что на первый взгляд заставляет задуматься, что проблема, должно быть, в Spotify. В конце концов, именно сервер Spotify возвращает ошибку 500.
Однако все остальные методы, которые я пытался получить по этому URL-адресу, работают нормально
< ul>
[*]попробуйте в браузере, работает
[*]попробуйте с помощью Curl, работает:

Код: Выделить всё

curl "https://open.spotify.com/oembed?url=https%3A%2F%2Fopen.spotify.com%2Fplaylist%2F37i9dQZF1DWTggY0yqBxES"
  • попробуйте с помощью JavaScript, работает:

Код: Выделить всё

fetch("https://open.spotify.com/oembed?url=https%3A%2F%2Fopen.spotify.com%2Fplaylist%2F37i9dQZF1DWTggY0yqBxES")
.then(res => {
console.log(res)
})
  • попробуйте в PowerShell, работает:

Код: Выделить всё

Invoke-WebRequest "https://open.spotify.com/oembed?url=https%3A%2F%2Fopen.spotify.com%2Fplaylist%2F37i9dQZF1DWTggY0yqBxES"
Сбой происходит только в C#.
Чем основной запрос C# отличается от всех этих других методов?>

Подробнее здесь: https://stackoverflow.com/questions/790 ... ecific-url

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