@FastSpace какой вопрос - такой и ответ. Не думаю, что в данный момент человека волнуют остальные моменты, которые не озвучены изначально.
Да и топологию сети я не заметил, чтобы дать конкретный ответ.
Баг или норма? при установке прокси
-
1.HTTP-GET для получение значение прокси
2. Содержание ответа = [[PROXY]]
3. Установить прокси [[PROXY]]так вот, если HTTP-GET не смог достучаться до адреса (обрыв связи, таймаут, что угодно) он никак об этом не сообщает.
Далее я делаю установку прокси из переменной [[PROXY]] (она пустая), снова никакой ошибки скрипта. Далее открываю сайты. Случайно обнаружил, что айпи то мой :)теперь пришлось добавить:
- что бы проверить успешность GET запроса, после него использую "была ли ошибка"
- далее регуляркой проверяю [[PROXY]] есть ли там значение похожее на мой прокси формат и не пустая ли переменная
вопрос:
что можно придумать, что бы посоветовать автору добавить в следующие версии? :) или все и так норм, просто городить огород блоков с проверками? -
@Sevenup Сделать прокси пустым нужно, если тебе необходимо его отключить. По моему всё логично и понятно. Да, ещё прокси отключается, если в значении переменной есть пробел. Или несколько.
То есть IF [[PROXY]] != "" пропустит, если[[PROXY]] == " " или [[PROXY]] == " "Но запросы будут идти с твоего ip.
-
@Fox said in Баг или норма? при установке прокси:
@Sevenup Сделать прокси пустым нужно, если тебе необходимо его отключить. По моему всё логично и понятно. Да, ещё прокси отключается, если в значении переменной есть пробел. Или несколько.
То есть IF [[PROXY]] != "" пропустит, если[[PROXY]] == " " или [[PROXY]] == " "Но запросы будут идти с твоего ip.
ага, я это уже понял :) думаю вот как проверять теперь применялся ли прокси или нет
-
@Sevenup не понятна логика, так как в настройках ресурса можна выставить, что использовать определенный прокси успешно 1 раз(тоесть 1 строку)...и никаких проверок не нужно, скрипт сам все анализирует. А было бы правильно файл с проксями почистить от пустых полей.
-
@seedgg Это если у тебя файл с проксями, а если отдельная функция парсит халявные прокси? Проверка нужна на непредвиденный случай. Такая проверка спасёт, если в прокси вдруг заглянут буквы :)
А так, согласен, если используешь файл с прокси, то проще его изначально нормально подготовить..
-
@Fox Халявные прокси, и работа с ними под ресурс, предварительно не чекнуть и не обработать...ну это уже с грани фантастики, ну а впринцыпе, если парсиш списки с халявными проксями, я еще не встречал, чтобы там проскакивало, что-то не то(при правильных регулярках)....хотя встречал, ну только в определенно неправильно настроеных парсерах.
Ну а если выходить с такой логики, то определенная функция абсолютно все может подготовить, для дальнейшей работы, тоесть если напарсили, сразу и чекать нужно, и записывать в файл(ресурс) уже готовые и обработаные данные(тоесть чистые), а не как говорилось выше, городить проверки и всякие костыли. Ну это я так думаю, и впринцыпе, я так все и обрабатываю, на мое усмотрение, это экономит кучу времени. -
@seedgg said in Баг или норма? при установке прокси:
@Sevenup не понятна логика, так как в настройках ресурса можна выставить, что использовать определенный прокси успешно 1 раз(тоесть 1 строку)...и никаких проверок не нужно, скрипт сам все анализирует. А было бы правильно файл с проксями почистить от пустых полей.
Прочтите еще раз первый пост, я не использую файлы, все данные получаю методом GET с удаленного сервера.
@Fox said in Баг или норма? при установке прокси:
@Sevenup Эмм, самое элементарное - это использовать экшен подходит ли строка под регулярное выражение
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d+Если true то дальше работать..
ага, приблизительно так и делаю, я это и описал в первом посте "регуляркой проверяю [[PROXY]] есть ли там значение похожее на мой прокси формат и не пустая ли переменная"
ребята, речь не идет о парсинге халявних прокси. Суть вопроса в том "как узнать, установился ли прокси" :) в моем примере описанном выше я попался на том, что прокси не устанавливался, потому добавил множество проверок строки прокси перед ее активацией в БАСе. Интересно было узнать/поделиться иными способами. В любом случае всем спасибо за участие.
-
@Sevenup Ну исходя из опыта...получая данные методом ГЕТ и парся эти данные на наличие прокси, пустых строк не может быть...но ладно....просто, я понимаю, вы работаете в совсем не в том режиме(не в том режиме в котором позволяет работать БАС) С проксями никаким нюансов не должно быть....просто нужно правильно понять как работает сам БАС. Он сам все отфильтровывает и все настройки выставляются в настройках ресурсов... Просто мало данных, что нужно, для того чтобы объяснить как рабоет БАС и всю eго логику. Если вы это поймете, то у вас проект на половину кода станет легче. Большенство всего он умеет делать сам, просто нужно знать что.
-
@Sevenup said in Баг или норма? при установке прокси:
@seedgg said in Баг или норма? при установке прокси:
@Sevenup не понятна логика, так как в настройках ресурса можна выставить, что использовать определенный прокси успешно 1 раз(тоесть 1 строку)...и никаких проверок не нужно, скрипт сам все анализирует. А было бы правильно файл с проксями почистить от пустых полей.
Прочтите еще раз первый пост, я не использую файлы, все данные получаю методом GET с удаленного сервера.
@Fox said in Баг или норма? при установке прокси:
@Sevenup Эмм, самое элементарное - это использовать экшен подходит ли строка под регулярное выражение
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d+Если true то дальше работать..
ага, приблизительно так и делаю, я это и описал в первом посте "регуляркой проверяю [[PROXY]] есть ли там значение похожее на мой прокси формат и не пустая ли переменная"
ребята, речь не идет о парсинге халявних прокси. Суть вопроса в том "как узнать, установился ли прокси" :) в моем примере описанном выше я попался на том, что прокси не устанавливался, потому добавил множество проверок строки прокси перед ее активацией в БАСе. Интересно было узнать/поделиться иными способами. В любом случае всем спасибо за участие.
ты изначально с сервера забираешь прокси, и как у тебя так получается что в переменную не попадает прокся?
забирай проксю такой регуляркой\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5} -
@Fox said in Баг или норма? при установке прокси:
Если прокси не обнаружится, то переменная будет пустой, значение "", которое и применяется к установки прокси.
Значь просто проверять на пустое значение переменную и все
Переменкой или регуляркой? ))
ну что ты пристал к пьяному человеку )))
-
@Zenodrot said in Баг или норма? при установке прокси:
ТС вот так можно юзать

хотел ответить комментарием каждому посту, которые выше, но данный пост в общем объясняет всю необходимость :) спасибо! Нечто подобное и пришлой реализовать, думал может есть более изящные решения, потому и завел тему.
На всякий случай повторюсь, в моем случае, когда GET запрос не удавался, об этом не было ошибки и переменная была пустой, соответственно при установке прокси он не устанавливался и работа браузера не проксировалась. Теперь я понимаю, что перед установкой прокси нужно обязательно проверять значение переменной.
-
@Fox said in Баг или норма? при установке прокси:
@Sevenup Я при парсинге нужной инфы использую экшен Подходит ли строка под регулярное выражение и If
trueто первое вхождение регулярки.C такой логикой и регуляркой в твоем варианте можно пройти проверку но не заюзать проксю, если дергать прокси из мусорного текста а не из ровного списка
пример
прокси;100.10.10.100:545451)прокси блабларез:
100.10.10.100:545451моя регулярка
прокси;100.10.10.100:545451)прокси блабларез:
100.10.10.100:54545\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5}- Количество портов ограничено с учётом 16-битной адресации (максимум 5 цифр порт)
p.s
Все порты разделены на три диапазона — общеизвестные (или системные, 0—1023), зарегистрированные (или пользовательские, 1024—49151) и динамические (или частные, 49152—65535).моя регулярка в любом бою применима ;)
-
@Zenodrot Это ведь не битва регулярок, тем более, что они почти идентичны.. Я забираю прокси из ровного списка, но на всякий пожарный проверяю своей регуляркой.
если дергать прокси из мусорного текста
Всё зависит от задачи.
В твоём варианте, если проверка будет в цикле, и [[PROXY]] будет найдена в предыдущей итерации, то прокси будет использоваться старый.
Я люблю регулярки, и интересные задачи. Только вот уже почти неделю ни чего интересного нет :(
