Я пытался настроить прокси с учетными данными в селене, используя необнаруженный драйвер Chrome в C#. Я также пытался загрузить расширение без файла ZIP, но все же я не добился успеха. Я пытаюсь установить прокси как:-< /p>
static string CreateProxyAuthExtension(string proxyHost, int proxyPort, string proxyUser, string proxyPass)
{
string manifestJson = @"
{
""manifest_version"": 2,
""name"": ""Proxy Auth Extension"",
""version"": ""1.0"",
""permissions"": [
""proxy"",
""tabs"",
""unlimitedStorage"",
""storage"",
"""",
""webRequest"",
""webRequestBlocking""
],
""background"": {
""scripts"": [""background.js""]
},
""minimum_chrome_version"": ""22""
}";
string backgroundJs = @"
chrome.runtime.onInstalled.addListener(() => {
chrome.storage.local.set({
proxyHost: '" + proxyHost + @"',
proxyPort: '" + proxyPort + @"',
proxyUser: '" + proxyUser + @"',
proxyPass: '" + proxyPass + @"'
});
chrome.storage.local.get(['proxyHost', 'proxyPort', 'proxyUser', 'proxyPass'], function (data) {
var config = {
mode: 'fixed_servers',
rules: {
singleProxy: {
scheme: 'http',
host: data.proxyHost || 'default.proxy.server',
port: parseInt(data.proxyPort) || 8080
},
bypassList: ['localhost', '127.0.0.1']
}
};
chrome.proxy.settings.set({ value: config, scope: 'regular' }, function () {});
chrome.webRequest.onAuthRequired.addListener(
function (details) {
return {
authCredentials: {
username: data.proxyUser || 'defaultUser',
password: data.proxyPass || 'defaultPass'
}
};
},
{ urls: [''] },
['blocking']
);
});
});
";
string extensionDir = Path.Combine(Directory.GetCurrentDirectory(), "extension");
string extensionZip = Path.Combine(Directory.GetCurrentDirectory(), "proxy_auth_extension.zip"); //Path.Combine(extensionDir, "proxy_auth_extension.zip");
try
{
// Create extension folder
if (!Directory.Exists(extensionDir))
Directory.CreateDirectory(extensionDir);
// Write files
File.WriteAllText(Path.Combine(extensionDir, "manifest.json"), manifestJson);
File.WriteAllText(Path.Combine(extensionDir, "background.js"), backgroundJs);
//Create ZIP archive for the extension
if (File.Exists(extensionZip))
File.Delete(extensionZip);
ZipFile.CreateFromDirectory(extensionDir, "proxy_auth_extension.zip");
}
catch (Exception ex)
{
}
return extensionZip;
}
ChromeOptions m_Options = new ChromeOptions();
extensionPath = CreateProxyAuthExtension(objWebProxy.Address.Host, objWebProxy.Address.Port, ((System.Net.NetworkCredential)objWebProxy.Credentials).UserName, ((System.Net.NetworkCredential)objWebProxy.Credentials).Password);
m_Options.AddExtension(extensionPath);
m_Options.AddArgument("--disable-blink-features=AutomationControlled");
using (var driver = UndetectedChromeDriver.Create(options: m_Options, driverExecutablePath: new ChromeDriverInstaller().Auto().Result))
{
driver.Manage().Window.Maximize();
strCompleteURL = "https://www.google.com/";
driver.Navigate().GoToUrl(strCompleteURL);
}
< /code>
Но прокси не устанавливается с помощью этого кода. Я искал по всему Google для решения, но ничего не нашел. Кто -нибудь может помочь мне в правильном направлении?
Подробнее здесь: https://stackoverflow.com/questions/794 ... river-in-c
Как сделать аутентификацию по доверенности в селене с использованием необнаруженного хромированного драйвера в C#? ⇐ C#
Место общения программистов C#
1738756960
Anonymous
Я пытался настроить прокси с учетными данными в селене, используя необнаруженный драйвер Chrome в C#. Я также пытался загрузить расширение без файла ZIP, но все же я не добился успеха. Я пытаюсь установить прокси как:-< /p>
static string CreateProxyAuthExtension(string proxyHost, int proxyPort, string proxyUser, string proxyPass)
{
string manifestJson = @"
{
""manifest_version"": 2,
""name"": ""Proxy Auth Extension"",
""version"": ""1.0"",
""permissions"": [
""proxy"",
""tabs"",
""unlimitedStorage"",
""storage"",
"""",
""webRequest"",
""webRequestBlocking""
],
""background"": {
""scripts"": [""background.js""]
},
""minimum_chrome_version"": ""22""
}";
string backgroundJs = @"
chrome.runtime.onInstalled.addListener(() => {
chrome.storage.local.set({
proxyHost: '" + proxyHost + @"',
proxyPort: '" + proxyPort + @"',
proxyUser: '" + proxyUser + @"',
proxyPass: '" + proxyPass + @"'
});
chrome.storage.local.get(['proxyHost', 'proxyPort', 'proxyUser', 'proxyPass'], function (data) {
var config = {
mode: 'fixed_servers',
rules: {
singleProxy: {
scheme: 'http',
host: data.proxyHost || 'default.proxy.server',
port: parseInt(data.proxyPort) || 8080
},
bypassList: ['localhost', '127.0.0.1']
}
};
chrome.proxy.settings.set({ value: config, scope: 'regular' }, function () {});
chrome.webRequest.onAuthRequired.addListener(
function (details) {
return {
authCredentials: {
username: data.proxyUser || 'defaultUser',
password: data.proxyPass || 'defaultPass'
}
};
},
{ urls: [''] },
['blocking']
);
});
});
";
string extensionDir = Path.Combine(Directory.GetCurrentDirectory(), "extension");
string extensionZip = Path.Combine(Directory.GetCurrentDirectory(), "proxy_auth_extension.zip"); //Path.Combine(extensionDir, "proxy_auth_extension.zip");
try
{
// Create extension folder
if (!Directory.Exists(extensionDir))
Directory.CreateDirectory(extensionDir);
// Write files
File.WriteAllText(Path.Combine(extensionDir, "manifest.json"), manifestJson);
File.WriteAllText(Path.Combine(extensionDir, "background.js"), backgroundJs);
//Create ZIP archive for the extension
if (File.Exists(extensionZip))
File.Delete(extensionZip);
ZipFile.CreateFromDirectory(extensionDir, "proxy_auth_extension.zip");
}
catch (Exception ex)
{
}
return extensionZip;
}
ChromeOptions m_Options = new ChromeOptions();
extensionPath = CreateProxyAuthExtension(objWebProxy.Address.Host, objWebProxy.Address.Port, ((System.Net.NetworkCredential)objWebProxy.Credentials).UserName, ((System.Net.NetworkCredential)objWebProxy.Credentials).Password);
m_Options.AddExtension(extensionPath);
m_Options.AddArgument("--disable-blink-features=AutomationControlled");
using (var driver = UndetectedChromeDriver.Create(options: m_Options, driverExecutablePath: new ChromeDriverInstaller().Auto().Result))
{
driver.Manage().Window.Maximize();
strCompleteURL = "https://www.google.com/";
driver.Navigate().GoToUrl(strCompleteURL);
}
< /code>
Но прокси не устанавливается с помощью этого кода. Я искал по всему Google для решения, но ничего не нашел. Кто -нибудь может помочь мне в правильном направлении?
Подробнее здесь: [url]https://stackoverflow.com/questions/79414688/how-to-do-proxy-authentication-in-selenium-using-undetected-chrome-driver-in-c[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия