我正在开发一个应用程序,以获取有关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。
答案 0 :(得分:3)
尝试访问Content
的{{1}}属性:
response
希望有帮助!
答案 1 :(得分:0)
我想这就是你想要的。
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;
}