我已成功运行代理服务器。目前它只发送硬编码的 GET 请求,但目前还可以。问题是我不知道如何获取从网络服务器收到的数据显示在我的浏览器中。但是,我可以毫无问题地在终端中打印数据正文。一个不相关的问题还有,返回的数据是“302 Moved”错误。我非常感谢您的帮助!
require 'socket'
def handle_request(client, host, port, path)
puts "0"
socket = TCPSocket.open(host, port)
request = "GET #{path} HTTP/1.0\r\n\r\n"
socket = TCPSocket.open(host,port)
socket.print(request)
response = socket.read
headers,body = response.split("\r\n\r\n", 2)
client.puts body
puts body
socket.close
end
server = TCPServer.open(2000)
loop{
client = server.accept
host = "www.google.se"
port = 80
path = "/index.html"
handle_request(client, host, port, path)
client.close
}
只需运行您的程序并将浏览器指向http://localhost:2000
。
我是一名优秀的程序员,十分优秀!