【问题标题】:VB.NET - Navigate webpage with specified user-agent?VB.NET - 使用指定的用户代理导航网页?
【发布时间】:2014-11-06 09:05:42
【问题描述】:

我正在尝试将当前用户代理更改为不同的用户代理。这个导航网页,但是,不会改变用户代理。

    Dim webBrowser1 As Object
    webBrowser1 = CreateObject("InternetExplorer.Application")
    webBrowser1.Navigate("http://www.example.org", Nothing, Nothing, "User-Agent: blabla")

这样做的正确方法是什么?

【问题讨论】:

    标签: vb.net visual-studio-2010 visual-studio


    【解决方案1】:

    您改为创建一个 System.Net.Webclient 并为其提供所需的标头。

    Imports System.Net
    
    Module Module1
        Sub Main()
    
    
            ' Resource acquisition statement.
            Using client As New WebClient
                ' Set one of the headers.
                client.Headers("User-Agent") = "Mozilla/4.0"
    
                ' Download data as byte array.
                Dim arr() As Byte = client.DownloadData("http://www.dotnetperls.com/")
    
                ' Display result.
                Console.WriteLine(arr.Length)
            End Using
        End Sub
    End Module
    

    来源:http://www.dotnetperls.com/webclient-vbnet

    【讨论】:

    • 工作就像一个魅力!非常感谢。
    • DownloadData 是否只 ping 目标 url 一次?我想打开页面但使其不可见。 DownloadData 也一样吗?
    • 表示,在后台打开网页。所以看不到,只能在任务管理器中看到。但是您的解决方案的问题是,它只是发送 ping(hit) url。就这样。例如,如果目标页面上有元刷新到 3 分钟,它不会刷新。
    • 哦,我明白了。你想在后台有一个基本上连接到网站的“隐形浏览器”——就像用户一样,但没有任何显示?如何设置一个计时器每隔一段时间运行下载数据以获取网站数据?您想从网站收到什么?
    • 我只是想打开页面,或者用编程语言,导航。此解决方案仅发送 ping。 webBrowser1.Navigate() 做我想要的,但它不会改变标题。唔。除了 DownloadData() 之外还有其他功能吗?不需要设置计时器等。我希望我能解释我想要什么。您的解决方案是,例如,在 cmd 上使用“ping targetwebsite.com”来获取站点 IP。它只去一次并卷土重来。我想在后台打开网页。
    猜你喜欢
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多