Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 5, 2012 19:17:05

agryn
От: Украина
Зарегистрирован: 2011-12-14
Сообщения: 189
Репутация: +  0  -
Профиль   Отправить e-mail  

http-прокси на python c возможностю сделать цепочку прокси (пренаправить на другой прокси)

Есть необходимость сделать что то типа прокси-свитчера, нужен http-proxy-server на питоне с возможностю подключения к еще одному прокси (сделать цепочку с двоих прокси) причем адрс другог прокси нужно менять на лету.
Подскажите проекты, или может есть готовое решение.

Отредактировано agryn (Окт. 6, 2012 22:16:36)

Офлайн

#2 Окт. 6, 2012 22:11:04

agryn
От: Украина
Зарегистрирован: 2011-12-14
Сообщения: 189
Репутация: +  0  -
Профиль   Отправить e-mail  

http-прокси на python c возможностю сделать цепочку прокси (пренаправить на другой прокси)

Я нашел пример простого прокси-сервера

from twisted.web import proxy, http
    from twisted.internet import reactor
    from twisted.python import log
    import sys
    log.startLogging(sys.stdout)
     
    class ProxyFactory(http.HTTPFactory):
        protocol = proxy.Proxy
     
    reactor.listenTCP(8080, ProxyFactory())
    reactor.run()
Может подскажет кто как сделать что б данные от этого скрипта шли на другой прокси?

Офлайн

#3 Окт. 7, 2012 13:09:34

agryn
От: Украина
Зарегистрирован: 2011-12-14
Сообщения: 189
Репутация: +  0  -
Профиль   Отправить e-mail  

http-прокси на python c возможностю сделать цепочку прокси (пренаправить на другой прокси)

Нашел еще один вариант вот здесь (Asynchronous port forwarding (Python recipe) )
но после выполнения (в калькуляторе)

asyncore.loop ()
следующие команды не можна исполнить
Как запустьть етот портфорвардинг “в фоне”?

Офлайн

#4 Окт. 7, 2012 17:15:53

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

http-прокси на python c возможностю сделать цепочку прокси (пренаправить на другой прокси)

agryn
в калькуляторе
Где?

loop() стартует главный цикл, а свой код тебе надо писать в обработчике события соединения/приема данных. Где-нибудь в handle_accept или sender.__init__.

Отредактировано odnochlen (Окт. 7, 2012 17:19:18)

Офлайн

#5 Окт. 7, 2012 18:50:11

agryn
От: Украина
Зарегистрирован: 2011-12-14
Сообщения: 189
Репутация: +  0  -
Профиль   Отправить e-mail  

http-прокси на python c возможностю сделать цепочку прокси (пренаправить на другой прокси)

Обработчик события у меня есть!
Мне интересно чем или как заменить loop() чтобы после этой команды сразу можно было продолжать выполнять код.

Отредактировано agryn (Окт. 7, 2012 18:50:48)

Офлайн

#6 Окт. 7, 2012 18:59:55

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

http-прокси на python c возможностю сделать цепочку прокси (пренаправить на другой прокси)

Ты не понимаешь суть асинхронных фреймверков. loop() передает управление в бесконечный цикл обработчиков событий. Код после него может разве что выполниться после выхода из цикла.

Tkinter и другие gui фреймверки работают так же.

Офлайн

#7 Окт. 7, 2012 19:12:17

agryn
От: Украина
Зарегистрирован: 2011-12-14
Сообщения: 189
Репутация: +  0  -
Профиль   Отправить e-mail  

http-прокси на python c возможностю сделать цепочку прокси (пренаправить на другой прокси)

В том то и дело что я понимаю что после loop() настает бесконечный цикл и пока он не закончица то код далее не будет выполняться, а мне нужно аналог loop() для распараллеливания, чтобы обработка событий далее себе выполнялась “в фоне”.
Вот нашел буду пробовать использовать http://podrugomu.com/node/988

Отредактировано agryn (Окт. 7, 2012 19:16:05)

Офлайн

#8 Окт. 7, 2012 19:45:25

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

http-прокси на python c возможностю сделать цепочку прокси (пренаправить на другой прокси)

Ну так запусти цикл в отдельном потоке, это то, что тебе надо?

Офлайн

#9 Окт. 7, 2012 20:18:13

agryn
От: Украина
Зарегистрирован: 2011-12-14
Сообщения: 189
Репутация: +  0  -
Профиль   Отправить e-mail  

http-прокси на python c возможностю сделать цепочку прокси (пренаправить на другой прокси)

odnochlen
Ну так запусти цикл в отдельном потоке, это то, что тебе надо?
Да, разобрался получилось. Теперь возник вопрос как этот отдельный поток остановить?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version