Как узнать, установлен прокси или нет?

  • Автор темы Автор темы prostors
  • Дата начала Дата начала
  • Теги Теги
    782

prostors

Client
Регистрация
16.12.2020
Сообщения
1 456
Реакции
79
Баллы
48
Как узнать, установлен прокси или нет?
пробовал через get запрос
131495

но отдаёт IP текущий, даже если прокси не установлен

есть какой-то рабочий метод?
 
Так если прокси не установлен, он и должен отдавать IP машины.
 
машины бывают разные, как ты узнаешь IP нужной машины?
Через dns.gethostaddress из библы networkinformation , это на c#
Потом полученный список сравниваешь с IP полученным через запрос и делаешь вывод...

Без кода , естественно ты в зенке никак не узнаешь эту инфу :)

Видишь, как полезно знать c# хотя бы на базовом уровне.. Щас бы метнулся колбаской к дипсику, поставил ему задачу и через пару уточнений получил бы рабочий код... А так надо ждать кодомодельеров этого форума, которые навачют тебе нужный код ;)
 
если прокси рабочий, устанавливает его, если нет - выбрасывает исключение
C#:
Развернуть Свернуть Копировать
// Путь к файлу, который нужно обработать
string filePath = project.Directory + @"\proxy.txt";

// Читаем все строки из файла в массив
string[] lines = System.IO.File.ReadAllLines(filePath);

// Проверяем, что файл не пустой
if (lines.Length > 0)
    {
        // Берем первую строку
        string firstLine = lines[0];
    
        // Присваиваем значение переменной
        project.Variables["proxy"].Value = firstLine;
    
        // Создаем новый массив строк: удаляем первую строку и дописываем её в конец
        string[] updatedLines = lines.Skip(1).Concat(new []
            {
                firstLine
            }).ToArray();
    
        // Записываем обновленные строки обратно в файл
        System.IO.File.WriteAllLines(filePath, updatedLines);
    }
else
    {
        // Если файл пустой, выбрасываем ошибку
        project.SendErrorToLog("Файл proxy.txt пустой!");
        throw new Exception("Файл proxy.txt пустой!");
    }
//==============================
// Запрос без прокси
var responseWithoutProxy = ZennoPoster.HttpGet("https://chek.zennolab.com/proxy.php", "", "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody);
string cleanedResponseWithoutProxy = Macros.TextProcessing.Replace(responseWithoutProxy, "<.*?>", "", "Regex", "All").Trim();

// Запрос с прокси
var responseWithProxy = ZennoPoster.HttpGet("https://chek.zennolab.com/proxy.php", project.Variables["proxy"].Value, "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody);
string cleanedResponseWithProxy = Macros.TextProcessing.Replace(responseWithProxy, "<.*?>", "", "Regex", "All").Trim();

// Сравнение ответов
if (cleanedResponseWithProxy == cleanedResponseWithoutProxy)
    {
        project.SendToLog("Прокси не работает!", ZennoLab.InterfacesLibrary.Enums.Log.LogType.Warning, true, ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Red);
        throw new Exception("Прокси не работает!");
    }
else
    {
        instance.SetProxy(project.Variables["proxy"].Value); // установка прокси
        project.SendToLog("Прокси работает и установлен!", ZennoLab.InterfacesLibrary.Enums.Log.LogType.Info, true, ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Green); }
 
  • Спасибо
Реакции: Alex.A
return instance.GetProxy();
И указываешь переменную проекта, куда положить прокси.
Если переменная будет пустая, то прокси не установлен в проекте
 
  • Спасибо
Реакции: Dimon174 и Sergodjan

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)