我正在使用HTTP GET响应来检索大型JSON数据。以下是我在这里找到的文件:(https://dotnetbrowser-support.teamdev.com/docs/guides/gs/network.html#network-事件-&-处理程序(,我能够在每个请求中使用ResponseBytesReceived接收大约80%的数据。我知道我的HTTP服务器运行良好,因为我可以在谷歌Chrome中获取所有数据。使用Microsoft.Net HttpWebRequest/GetResponse API,我还可以获取所有数据。
因为我的JSON数据相对较大,所以我看到数据以许多批的形式出现,并且还会多次调用ResponseBytesReceived处理程序。大多数情况下,数据没有按顺序接收。这也是一个大问题。
如有任何帮助,我们将不胜感激。非常感谢。
您可以考虑以下方法:
- 通过
LoadUrl()
方法加载URL - 等待页面加载完成
- 通过DotNetBrowser DOM API从加载的HTML中提取JSON
在这种情况下,不需要按照正确的顺序组装响应的各个部分。
例如:
Browser.Navigation.LoadUrl("http://httpbin.org/headers").Wait();
//Get JSON string from the loaded page
string responseJson = Browser.MainFrame.Document.GetElementByTagName("pre")?.InnerText;
//Parse it to IJsObject
IJsObject jsonObject = Browser.MainFrame.ParseJsonString<IJsObject>(responseJson);
// Access object properties
string headerValue = ((IJsObject)jsonObject.Properties["headers"]).Properties["Accept-Language"].ToString();
如果有任何进一步的问题,请随时联系我们customer-care@teamdev.com.