WebBrower(.NET) 応用テクニック
User-Agentの変更
WindowsAPIのUrlMkSetSessionOptionを使用すれば、WebBrowserでアクセスするときのUser-Agentを変更できます。
ただし、変更可能なのはNavigateメソッドでサイトを表示する前です。
一度Navigateメソッドでサイトを表示すると、UrlMkSetSessionOptionで設定してもUserAgentの変更は反映されません。
別のUserAgentに変えたい場合はアプリを再度起動してください。
Imports System.Runtime.InteropServices
Public Class Form3
<DllImport("urlmon.dll", CharSet:=CharSet.Ansi)> _
Private Shared Function UrlMkSetSessionOption( _
ByVal intOption As Integer, _
ByVal str As String, _
ByVal intLength As Integer, _
ByVal intReserved As Integer) As Integer
End Function
Private Const URLMON_OPTION_USERAGENT As Integer = &H10000001
Private Const USERAGENT As String = "Test User Agent"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, USERAGENT, USERAGENT.Length, 0)
WebBrowser1.Navigate("http://www.useragentstring.com/")
End Sub
End Class
using System.Runtime.InteropServices;
public class Form3
{
[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
private static int UrlMkSetSessionOption(int intOption, string str, int intLength, int intReserved)
{
}
private const int URLMON_OPTION_USERAGENT = 0x10000001;
private const string USERAGENT = "Test User Agent";
private void Button1_Click(System.Object sender, System.EventArgs e)
{
UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, USERAGENT, USERAGENT.Length, 0);
WebBrowser1.Navigate("http://www.useragentstring.com/");
}
}
