使用Visual Basic 2017导航到esp8266 wifi开关(Sonoff)

时间:2018-06-04 22:47:02

标签: vb.net webbrowser-control

我使用以下代码导航到特定网址,如下所示:

WebBrowser1.Navigate("http://192.168.0.157/cm?cmnd=POWER%20Toggle"

事实是链接返回 .json 文件,WebBrowser控件显示默认的保存文件对话框,询问我是要保存文件还是运行它。

我想忽略对话框并直接从 .json 文件中读取(我的意思是在下载后)。

我只想摆脱webbrowser的保存对话框。我是新手,所以我不知道该搜索什么或如何正确询问。

1 个答案:

答案 0 :(得分:1)

虽然你的帖子甚至不是标准的并且几乎没有解释这个问题,但到目前为止我所理解的是你有一些问题我会分开回答。

禁用网络浏览器的下载对话框并自动下载文件

首先,您提到会返回 .json 文件。因此,您可以轻松地向表单添加SaveFileDialog或设置自定义路径(可能在变量中),并检查webbrowser是否正在尝试下载任何 .json 文件。然后你会Cancel来电(通常我的意思是取消弹出的保存运行 ...)并使用{{1} }或本地变量将文件直接保存到磁盘。这是一个使用本地字符串变量作为路径并将 .json 文件直接保存到磁盘的示例:

SaveFileDialog

显示结果AKA .json

反序列化/解析.json文件非常容易。但首先,下载this,解压缩ZIP并将 Imports System.ComponentModel ... Dim filepath As String '''class lever variable Private Sub myBroswer_Navigating(sender as Object, e As WebBrowserNavigatingEventArgs) Handles myBroswer.Navigating If e.Url.Segments(e.Url.Segments.Length - 1).EndsWith(".json") Then e.Cancel = True filepath = "C:\test\" + e.Url.Segments(e.Url.Segments.Length - 1) Dim client As WebClient = New WebClient() AddHandler client.DownloadFileCompleted , AddressOf New AsyncCompletedEventHandler(DisplayJson); client.DownloadFileAsync(e.Url, filepath) End If End Sub 提取到Add Reference。现在考虑以下代码段:

Newtonsoft.Json.dll

希望这有帮助