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

prostors

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

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

есть какой-то рабочий метод?
 

Alex91

Известная личность
Read only
Регистрация
15.08.2024
Сообщения
880
Благодарностей
251
Баллы
63
Так если прокси не установлен, он и должен отдавать IP машины.
 

prostors

Client
Регистрация
16.12.2020
Сообщения
1 192
Благодарностей
44
Баллы
48

Alex91

Известная личность
Read only
Регистрация
15.08.2024
Сообщения
880
Благодарностей
251
Баллы
63
машины бывают разные, как ты узнаешь IP нужной машины?
Через dns.gethostaddress из библы networkinformation , это на c#
Потом полученный список сравниваешь с IP полученным через запрос и делаешь вывод...

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

Видишь, как полезно знать c# хотя бы на базовом уровне.. Щас бы метнулся колбаской к дипсику, поставил ему задачу и через пару уточнений получил бы рабочий код... А так надо ждать кодомодельеров этого форума, которые навачют тебе нужный код ;-)
 

404

Client
Регистрация
23.09.2011
Сообщения
118
Благодарностей
66
Баллы
28
если прокси рабочий, устанавливает его, если нет - выбрасывает исключение
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

krepskiy

Client
Регистрация
18.02.2016
Сообщения
290
Благодарностей
220
Баллы
43
return instance.GetProxy();
И указываешь переменную проекта, куда положить прокси.
Если переменная будет пустая, то прокси не установлен в проекте
 
  • Спасибо
Реакции: Sergodjan

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