![]() |
Скрипт проверяющий прокси
Не нашел никакой программы для linux, которая бы умела проверять прокси на работоспособность.
Возможно выход в такой ситуации написать скриптик самому, но встало два вопроса: На чем писать Самый очевидный выбор для linux это bash или perl, но у меня почти не т опыта программирования и на том и на другом. Как выриант можно писть на python, с которым я немножко имел дело, но все равно хотелось бы услышать аргументированное мнение по поводу выбора языка. Что писать Опять у меня совсем нет опыта программирования для сети. Из баша можно запускать ping или httping, но похоже что это не самый удачный способ проверки проксей, посему прошу предложить спосб луше. В случае с питоном вопрос проверки еще более тумант. Буду благодарен за любые ссылки на маны и документацию и вообще ссылки на любые марериалы по теме, можно на языке вероятного противника. |
Где вас только таких берут? или мама поиском не научила пользоваться?
иду я в поиск и что я вижу? python -> http://forum.antichat.ru/showpost.php?p=1268835&postcount=1 обсуждение "proxy cheker, консольный для nix" -> http://forum.antichat.ru/showthread.php?t=116388 php чекер -> http://forum.antichat.ru/showthread.php?p=1158954-proxy+%F7%E5%EA%E5%F0#post1158954 Ещё одна общая доработка perl чекера -> http://forum.antichat.ru/threadnav40897-104-10.html при большом желании найти можно всё..... но вот задавать глупые вопросы - это всегда пожалуйста! |
Спасибо. Подборка хорошая. Ошибку понял.
Тем не менее за буду весьма признателен, если кто-то поделится опытом по выше озвученным вопросам, так как видимо буду либо подгонять скрипты под себя, либо все равно писать свои. Посмотрим что будет попроще. |
forum.antichat.ru/showpost.php?p=1491575&postcount=6
|
В итоге, после долгих блужданий по форуму так и не нашел нормального чекера на python и решил сам написать что-то подобное. Возможно кому-то это пригодится, ибо написанное на питоне очень удобно подстраивать под свои конкретные нужды.
PHP код:
|
Ну кагбэ майн имха такова : первый минус - что грузишь файл в оперативку, тут можно обойтись итератором
<дальше не читать> Код:
А вообще в принципе нормально, но имхо уж больно много функций ) Лучше сделай пару функций покрупнее, а не 10 одно-двухстрочных ) P.S. Кагбэ интересно, а он нормально работает ? Попробуй прочекать в 10 потоков 100 прокси - чето мне подсказывает что вывод прокси будет только один раз, ибо не катит Код:
printLock = threading.Lock()Код:
printLock = threading.RLock() |
Цитата:
Цитата:
Теперь буду долго пытаться понять что ты мне там написал, и возможно меня за мои труды ждет озарение. Цитата:
А вообще проще изменять функциональность отдельных функций (вот такой я поэт), а в будущем одни скорее всего потолстеют. Цитата:
С выводом в файл проблем не замечено, подозреваю что with решает). global - это ужасно, на C я бы за такое все бы поотрывал. Но в питоне области видимости - больная тема, и я не нашел более красивого решения. Не хочу мутить новый объект тк просто можно скрипт подключать как модуль и юзать функции. Оч удобно на мой взгляд. |
Эх, не о том мну Lock (если исходить из манов) один поток может вызывать только один раз, RLock один поток может вызывать несколько раз подряд.
P.S. Насчет монструозности - мну бывает заносит, начинаю изь*бываться. Несколько процов/ядер пох ибо это threading а не multiprocessing, параша в консоль валится это бесспорно, в принципе, сделай так (ну попиарю я WRITER :)) Код:
#Класс для записи данных в несколько файловПотом, еще раз, в той куче монструозности есть еще один класс - PROXYS, его тоже можешь глянуть, при малюсенькой корректировке им можно заменить твой скрипт (добавить только вывод в файл и вывод в консоль, замки там уже имеются). П.С. насчет критики моей ты можешь не нервничать, по большому счету мне все равно как ты напишешь своё творение, мои посты можешь рассматривать просто как ещё один возможный вариант решения своей задачи. П.С. смотри аву - мну мудак ) P.P.S. WRITER задуман для вывода данных в несколько разных файлов, это просто мойне парашен, в стандартной поставке есть logging, назначение его в принципе другое, но его можно переделать под аналогичные задачи, а так то мне лень было с ним разбираться =/ |
| Время: 06:00 |