dotNetBrowser:HTTP GET 响应缺少数据
dotNetBrowser: HTTP GET Response missing data
我正在使用 HTTP GET-Response 检索大型 JSON 数据。按照我在此处找到的文档:(https://dotnetbrowser-support.teamdev.com/docs/guides/gs/network.html#network-events-&-handlers),我能够在每个请求中使用 ResponseBytesReceived 接收大约 80% 的数据。我知道我的 HTTP 服务器工作正常,因为我可以获得 Google Chrome 中的所有数据。使用 Microsoft .Net HttpWebRequest/GetResponse API,我也可以获得所有数据。
因为我的JSON数据比较大,所以我看到数据分很多批进来,ResponseBytesReceived handler也被调用了很多次。大多数时候,数据不是按顺序接收的。这也是个大问题。
如有任何帮助,我们将不胜感激。谢谢。
您可以考虑以下方法:
- 通过
LoadUrl()
方法加载URL;
- 等待页面加载完成;
- 通过 DotNetBrowser DOM 从加载的 HTML 中提取 JSON API.
在这种情况下,不需要assemble响应的各个部分按正确的顺序排列。
例如:
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 与我们联系。
我正在使用 HTTP GET-Response 检索大型 JSON 数据。按照我在此处找到的文档:(https://dotnetbrowser-support.teamdev.com/docs/guides/gs/network.html#network-events-&-handlers),我能够在每个请求中使用 ResponseBytesReceived 接收大约 80% 的数据。我知道我的 HTTP 服务器工作正常,因为我可以获得 Google Chrome 中的所有数据。使用 Microsoft .Net HttpWebRequest/GetResponse API,我也可以获得所有数据。
因为我的JSON数据比较大,所以我看到数据分很多批进来,ResponseBytesReceived handler也被调用了很多次。大多数时候,数据不是按顺序接收的。这也是个大问题。
如有任何帮助,我们将不胜感激。谢谢。
您可以考虑以下方法:
- 通过
LoadUrl()
方法加载URL; - 等待页面加载完成;
- 通过 DotNetBrowser DOM 从加载的 HTML 中提取 JSON API.
在这种情况下,不需要assemble响应的各个部分按正确的顺序排列。
例如:
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 与我们联系。