[英]Retrieve data from API call response?
我正在开发一个应用程序,以获取有关C#的API经验。 我正在从一个涉及笑话的站点中提取数据,但是无论我如何尝试,我似乎都无法获得实际的响应。
我已经介绍了几种不同的方法,这是我得到的最远的方法。 我正在使用RestSharp库,并且正在返回RestSharp.RestResponse。 我尝试了几种反序列化的方法,因为这是我所需要的。 在我使用的API中,默认响应格式为text / html。 将其提取到包含笑话本身的字符串中的任何技巧将不胜感激。
public void CreateJoke()
{
var client = new RestClient("https://icanhazdadjoke.com/");
client.AddDefaultHeader("user-agent", "Dadbot");
var request = new RestRequest("https://icanhazdadjoke.com/");
var response = client.Get(request);
lblJoke.Text = response.ToString();
}
预期结果:可以将一个字符串放入标签中。 实际结果:RestSharp.RestResponse。
尝试改为访问response
的Content
属性:
public void CreateJoke()
{
var client = new RestClient("https://icanhazdadjoke.com/");
client.AddDefaultHeader("user-agent", "Dadbot");
var request = new RestRequest("https://icanhazdadjoke.com/");
var response = client.Get(request);
lblJoke.Text = response.Content;
}
希望有帮助!
我想这就是你想要的。
public string CreateJoke()
{
var request = (HttpWebRequest)WebRequest.Create("https://icanhazdadjoke.com/");
request.Method = "GET";
request.Accept = "text/plain";
var jokeResponse = request.GetResponse();
var joke = string.Empty;
using (var sr = new StreamReader(jokeResponse.GetResponseStream()))
{
joke = sr.ReadToEnd();
}
//Console.WriteLine(joke);
return joke;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.