C#.NET Web API 2,如何使用 HTTPGET 异步方法上的 HttpContent 从网站中提取特定文本?
Posted
技术标签:
【中文标题】C#.NET Web API 2,如何使用 HTTPGET 异步方法上的 HttpContent 从网站中提取特定文本?【英文标题】:C#.NET Web API 2, How can I extract a certain text from a website using the HttpContent on a HTTPGET async method? 【发布时间】:2020-01-21 10:20:21 【问题描述】:我是 Web 新手,我的 Web API 2 培训的一部分是创建一个使用 HttpClient 的 API 控制器 和 HttpContent 来读取整个网站并从中仅返回特定部分的文本。
当我调用该网站时,它会作为一个对象返回给我。对我来说,这被认为是要使用的“公共 API”。
据此提示我只将特定部分返回给用户的文本。
现在,我花了几个小时在谷歌上搜索并尝试使用 Regex 表达式、Newtonsoft.Json 对象……等来实现它,但我似乎无法将其分解。
有没有办法帮它?我错过了什么?请指教!
public async System.Threading.Tasks.Task<string> GetAsync()
using (HttpClient client = new HttpClient())
using (HttpResponseMessage response = await client.GetAsync("https://www.lipsum.com/"))
using (HttpContent content = response.Content)
string text = await content.ReadAsStringAsync();
return text;
Extract and store only this piece of text
【问题讨论】:
解析返回的 html 页面与 HttpClient 或 Web API 无关。正则表达式可用于提取特定的、定义明确的 sn-ps。在其他情况下,您可能需要使用像 AngleSharp 这样的 HTML 解析器。不知道 HTML 是什么样子或您想提取什么内容无法提供任何帮助。 【参考方案1】:我需要的是一个 HTML 解析器。为此,我使用了 AngleSharp。
我要感谢 @Panagiotis Kanavos 的澄清和反馈。
【讨论】:
以上是关于C#.NET Web API 2,如何使用 HTTPGET 异步方法上的 HttpContent 从网站中提取特定文本?的主要内容,如果未能解决你的问题,请参考以下文章
如何在目标c中的asp.net web api方法中使用POST方法?
如何将int数组发送到post web api c#asp.net [重复]