Форум сайта python.su
0
Народ, выручайте. Нужно сделать клиент и сервер на python 2.7, которые будут связываться через прокси сервер. Принцип: клиент послал серверу Hello World, сервер отзеркалил, клиент поймал, вывел в консоль. И тд и тп. И все это через прокси
Офлайн
33
EgorTrepov
Нужно сделать клиент и сервер на python 2.7
Отредактировано Budulianin (Сен. 12, 2014 14:52:35)
Офлайн
0
Можно пример? Разбираться время поджимает.
Офлайн
33
Офлайн
0
Это напрямую. А тоже самое, но через прокси? Да, да, я тупой( Просто время поджимает
Офлайн
33
EgorTrepov“Сервер” слушает порт на каком-то хосте.
А тоже самое, но через прокси?
Отредактировано Budulianin (Сен. 12, 2014 15:12:51)
Офлайн
0
Голова моя деревянная… Вы можете мне в коде этом натыкать носом, где там сервер, где прокси, где клиент?
Офлайн
33
Сделаем прокси с basic authentication на nginx.
Берём nginx, в стандартный конфиг добавляем:
(нужно посетить доку nginx)
server { listen 8254; location / { auth_basic "closed site"; auth_basic_user_file /home/vagrant/htpasswd; proxy_pass http://precise64:3812; } }
import socket HOST = socket.gethostname() PORT = 3812 server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind((HOST, PORT)) server.listen(1) while True: conn, addr = server.accept() data = conn.recv(1024) if not data: break conn.sendall('HTTP/1.1 200 OK\n\nHello!') print(data) conn.close()
import socket HOST = socket.gethostname() PORT = 8254 client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect((HOST, PORT)) client.sendall('GET / HTTP/1.1\nHost: precise64\nAuthorization:Basic enViaXp1OnB5dGhvbg==\n\n') data = client.recv(1024) client.close() print 'Received', repr(data)
Received 'HTTP/1.1 401 Unauthorized\r\nServer: nginx/1.4.5\r\nDate: Fri, 12 Sep 2014 19:30:44 GMT\r\nContent-Type: text/html\r\nContent-Length: 194\r\nConnection: keep-alive\r\nWWW-Authenticate: Basic realm="closed site"\r\n\r\n<html>\r\n<head><title>401 Authorization Required</title></head>\r\n<body bgcolor="white">\r\n<center><h1>401 Authorization Required</h1></center>\r\n<hr><center>nginx/1.4.5</center>\r\n</body>\r\n</html>\r\n'
Received 'HTTP/1.1 200 OK\r\nServer: nginx/1.4.5\r\nDate: Fri, 12 Sep 2014 19:32:45 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\n\r\n6\r\nHello!\r\n0\r\n\r\n'
Отредактировано Budulianin (Сен. 12, 2014 22:33:03)
Офлайн
0
nginx это, я так понимаю, собственно прокси сервер? а с другим данный код будет работать?
Офлайн
33
EgorTrepovНу я же написал
nginx это, я так понимаю, собственно прокси сервер?
Budulianin
Сделаем прокси с basic authentication на nginx.
EgorTrepovС каким другим?
с другим данный код будет работать?
Отредактировано Budulianin (Сен. 12, 2014 23:01:07)
Офлайн