【问题标题】:How to obtain the packet travel time when using http proxy server?使用http代理服务器时如何获取数据包传输时间?
【发布时间】:2012-07-18 02:36:56
【问题描述】:

例如,目标http服务器是A,代理服​​务器(http)是B。直接从我的机器上获取到A的响应时间很容易。但是在使用代理服务器 B 时如何获取旅行时间?这意味着旅行时间包括从我的机器到 B PLUS 代理服务器 B 到 A。我不知道如何做最后一部分“代理服务器 B 到 A”。

我打算用Java来解决这个问题,有什么想法吗?

【问题讨论】:

    标签: java networking social-networking


    【解决方案1】:

    为什么不通过代理向 A 发出请求?即代理的正常使用。那么 RTT 大概包括客户端 B 和 B A 腿。当然,代理可能正在缓存,在这种情况下,您只是对客户端 B 进行计时,但这不是您想要的吗?

    【讨论】:

    • 您好,感谢您的想法。是的,你是对的,你的想法应该可行。我想得太复杂了。但是我仍然对代理服务器的实际工作方式感到困惑,例如有一个代理服务器 123.123.123.123:8080 ,我想编写一个 Java 程序来从该代理服务器请求 http 服务并调查响应时间。我在想我要求的模式应该是:123.123.123.123:8080/index.php?url=www.google.com。我的概念正确吗?我如何知道确切的 URL 和参数?
    • 没有。 HTTP 代理通过 HTTP 本身工作。您制作了一个或多或少正常的 http 请求,并将其发送到代理,并且代理根据 Request-URI 知道将其发送到哪里。有关详细信息,请参阅 http rfc (tools.ietf.org/html/rfc2616)。您当然可以使用 http 库来定位 http 代理本身,例如使用 Max-Forwards 标头。但是,您可能需要一个比 JDK URL 类更高级的类。
    • 哦。我懂了。好像我的机器和代理服务器之间的协议不是http类型的?在我制作了 http 请求后,如何将请求项发送到代理?通过原始套接字连接?还是?
    • 不,如上你的机器和http代理之间的协议 HTTP。
    猜你喜欢
    • 2011-05-25
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    相关资源
    最近更新 更多