2017-10-10 2 views
1

J'appelle une API avec Restsharp.RestSharp obtient le résultat en octets bruts

Mon appel est:

curl -H 'X-Response-Control: minified' -X GET http://api.football-data.org/v1/competitions?season=2017 

qui retourne un JSON correctement formé.

Avec Restsharp il devient:

var Client = new RestClient("http://api.football-data.org/v1"); 
var Request = new RestRequest($"competitions?season={DateTime.UtcNow.Year}", Method.GET); 
Request.AddHeader("X-Response-Control", "minified"); 
var Response = Client.Execute(Request); 

Cependant, l'appel réussit, mais Response.Content est une chaîne vide, Response.RawBytes contient la réponse appropriée. Est-ce parce que le serveur n'identifie pas le type de données en tant que texte/json?

+1

Cela fonctionne très bien pour moi. –

+0

Comme Hamlet votre code fonctionne pour moi. Est-ce votre code exact ou avez-vous mis du code pseudo ici? Je me demandais si votre code était en fait asynchrone et que vous inspectiez le contenu de la réponse avant qu'elle ne soit terminée. – Equalsk

+0

C'était un copier-coller, mais j'ai trouvé que c'est un problème lié à la façon dont Visual Studio affiche les informations dans le débogueur. – Thomas

Répondre

0

Il se trouve qu'elle est liée à visual studio:

enter image description here

Il montre la chaîne comme vide

Mais quand vous passez la souris:

enter image description here

Et il y a pas de saut de ligne au début de la chaîne ou quelque chose comme ça.