我正在尝试使用C#创建一个应用程序,以从我的ISP站点检索我的数据上限信息。该页面为this one,但我怀疑无法从其网络外部访问该页面,因此如果有人需要更多信息,请询问。
页面通过AJAX加载剩余的流量配额,并在加载后显示在页面中。现在我已经有一个使用HtmlAgilityPack的应用程序,但是考虑到我正在使用WebBrowser控件在后台加载页面,等待五秒钟,使用库解析页面的HTML,看看它是否找到了必要的HTML字符串,这真是令人毛骨悚然。 ;如果不是,计时器将重置并重复自身,直到javascript完成其工作并加载数据上限信息为止。
我想以某种方式复制网页的功能,然后调用服务器并直接询问信息,而无需在后台创建Web浏览器实例并等待信息加载。
有可能吗?
标题
Host: internet.tre.it
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0
Accept: application/json, text/javascript, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://internet.tre.it/
X-Requested-With: XMLHttpRequest
DNT: 1
Connection: keep-alive
Cookie: cookiesAccepted=1; _iub_cs-160673=%7B%22id%22%3A160673%2C%22consent%22%3Atrue%2C%22timestamp%22%3A%222018-04-16T15%3A42%3A10.978Z%22%2C%22version%22%3A%220.13.22%22%7D; ASP.NET_SessionId=n2wz2brfaepfj2klo0nqfwaw; pageVisit=c73074b54dbe40d49a715aeb9a0f4ea8; 148162__148162_d32646f682e342dba303540b0f10dac1=1
回复
Album of the JSON response.(我将这两行涂黑,因为它们分别是我自己的名字和我的电话号码)
答案 0 :(得分:0)
响应是一个json字符串,我建议以下内容:
var obj = JsonConvert.DeserializeObject < Banners>(downloadedJson);
您完成了!如果所有信息都在json中,则无需使用HtmlAgilityPack。让我知道你的票价。