سلام، این برای تغییر user agent ـه WebClient هست و ربطی به WebBrowser نداره.
WebBrowser بصورت پیشفرض از اطلاعات اینترنت اکسپلوره استفاده میکنه.
یه روشی که داخل سایت های مختلف بهش اشاره میشه این روش هست که هنگام Navigate کردن، User agent رو تنظیم کنیم:
webBrowser1.Navigate("http://ame.com", null, null, "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36 OPR/54.0.2952.71");
که برای من یکی، همیشه خدا کار نمیکرد:| شما یه امتحانیش کن.
روش دو اینه که از UrlMkSetSessionOption استفاده کنیم.
فضای نامی مورد نیاز:
using System.Runtime.InteropServices;
[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
private static extern int UrlMkSetSessionOption(
int dwOption, string pBuffer, int dwBufferLength, int dwReserved);
const int URLMON_OPTION_USERAGENT = 0x10000001;
public void ChangeUserAgent()
{
string userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36 OPR/54.0.2952.71";
UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, userAgent, userAgent.Length, 0);
}
کافیه تابع ChangeUserAgent رو فراخوانی کنی تا user agent عوض شه.
بعضی ها میگن که روش دوم داخل wpf کار نمیکنه و روش اول کار میکنه، پس بهتره هر دو روش رو امتحان کنی و ببینی کدوم برات کار میکنه و از همون استفاده کنی.
موفق باشید.