1

我正在编写一个用于生成网络流量的应用程序,我想包括请求者的 IP 地址和端口号。我可以从 Net::HTTP 获得这些信息吗,或者是否有另一个我可以使用的包含这些信息的库。我只需要能够发出 http 请求并处理响应对象。

谢谢!

4

1 回答 1

0

如果我使用 TCPSocket 而不是 Net::HTTP 看起来这很容易

TCPSocket.open("www.google.com", 80) {|sock|
  sock.print "GET / HTTP/1.1\r\n"
  sock.puts "\r\n"

  sock.close_write
  puts "ADDR: #{sock.addr}"
  puts "Peer: #{sock.peeraddr}"
  @response =  sock.read
}

sock.addr 和 sock.peeraddr 给我我正在寻找的地址。不幸的是,现在我不知道如何干净地获取状态码(200 - OK,404 - Not Found 等)

于 2012-07-11T21:00:23.553 回答