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
Ответить

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

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

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

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

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