gpt4 book ai didi

.net - 使 WebBrowser 控件删除其缓存

转载 作者:行者123 更新时间:2023-12-02 01:00:18 25 4
gpt4 key购买 nike

所以我正在制作一个登录网站的测试应用程序,如果给定的凭据有效,则将它们分开。当我的网络浏览器成功登录并且程序开始重复处理以检查剩余的凭据时,登录帐户将被缓存。我试过了

Me.WebBrowser1.Refresh(WebBrowserRefreshOption.Completely)

还有一些其他方法,比如导航到 about:blank 但即使我重新启动程序 webbrowser1 打开缓存的登录帐户也没有成功。我想在获得良好登录后使网络浏览器处于 rully 重置(启动)状态。

最佳答案

您可以在导航到站点之前禁用缓存(包括 cookie)。

为此,您可以使用 InternetSetOption API 函数并将 INTERNET_OPTION_SUPPRESS_BEHAVIOR(81) 选项的值设置为 INTERNET_SUPPRESS_COOKIE_PERSIST(3) 值。

示例

我尝试了以下示例,它禁用了缓存,并且当我登录 outlook.com 时,它就像开始一个新 session 一样工作:

Imports System.Runtime.InteropServices
Public Class Form1
<DllImport("wininet.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Public Shared Function InternetSetOption(hInternet As IntPtr, dwOption As Integer, _
lpBuffer As IntPtr, dwBufferLength As Integer) As Boolean
End Function

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim ptr = Marshal.AllocHGlobal(4)
Marshal.WriteInt32(ptr, 3)
InternetSetOption(IntPtr.Zero, 81, ptr, 4)
Marshal.Release(ptr)
WebBrowser1.Navigate("https://outlook.com")
End Sub
End Class

要查找有关这些标志的更多信息,请查看 Windows Internet Option Flags .

注意:您可以找到此答案的 C# 版本,here在我的另一篇文章中。

关于.net - 使 WebBrowser 控件删除其缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51113676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com