【问题标题】:How do I find out what IP and Port a Net::HTTP request is bound to?如何找出 Net::HTTP 请求绑定的 IP 和端口?
【发布时间】:2012-07-11 19:07:44
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: ruby net-http tcpsocket


    【解决方案1】:

    如果我使用 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 等)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-08
      • 1970-01-01
      • 2021-04-20
      相关资源
      最近更新 更多