Đây là những gì tôi muốn làm:Http qua telnet với trăn và xoắn
trình duyệt web -> kết nối với máy chủ từ xa thông qua telnet (server1) -> để mực-proxy (mà yêu cầu xác thực) thông qua telnet trên cổng 80 (server2)
tôi đã viết một kịch bản python nhỏ có sử dụng Twisted (ở đây:
#! /usr/bin/python
from twisted.internet import reactor, protocol
from twisted.web import http
from telnetlib import Telnet
import getpass
from sys import stdout
class datareceiver(protocol.Protocol):
def dataReceived(self,data):
self.telnet_con.write(data)
stdout.write(self.telnet_con.read_all())
def connectionMade(data):
stdout.write("\nA connection was made to this server\n")
def main():
server1 = "10.1.1.1"
#user = raw_input("Enter your remote account: ")
password = getpass.getpass()
tn = Telnet(server1)
if password:
tn.read_until("Password: ")
tn.write(password + "\n")
#This is server2
tn.write("telnet 10.1.1.10 80 \n")
#serverfac = protocol.Factory()
serverfac = http.HTTPFactory()
datareceiver.telnet_con = tn
serverfac.protocol = datareceiver
reactor.listenTCP(9229,serverfac)
reactor.run()
tn.write("exit\n")
print tn.read_all()
if __name__ == "__main__":
main()
Nhưng sau đó tôi nhận ra tôi đang làm nó một cách sai lầm, vỏ của tôi là nhận được tất cả các trả lời từ mực thay vì trình duyệt. Ai đó có thể jus t phác thảo một cách chính xác để làm điều này? Tôi có nên sử dụng thứ gì khác thay vì bị xoắn không?
Nó không thực sự cần thiết để sử dụng python, bất cứ điều gì khác cũng sẽ làm – vivek
Câu hỏi không phải là rất dễ hiểu. Nó có thể giúp đỡ nếu bạn cố gắng làm rõ những gì bạn đang cố gắng để đạt được. –
Tôi phải truy cập một máy chủ proxy mực (mà máy chủ trên cổng 80) thông qua một máy chủ khác (đó là một chuyển đổi thực sự). Tôi có thể telnet vào switch và sau đó từ đó sử dụng telnet để kết nối với máy chủ proxy mực. Tóm lại, tôi muốn đường hầm kết nối http của tôi thông qua công tắc đó – vivek