如何使用不同的ip进行http请求相同的URL?

时间:2013-09-02 18:01:17

标签: java ip httprequest urlrequest

我想发送一个HTTP请求并获取响应正文,但我有一个存储在多个服务器上的URL。假设我有这个清单:

www.mysite.com 192.168.1.31
www.mysite.com 192.168.1.32

我希望向所有不同的服务器(不同的IP)发出请求,但是相同的URL

在Java中有没有选择呢?

1 个答案:

答案 0 :(得分:0)

是的,你可以这样做。将URL定义为您想要的并使用IP地址代替域名。 I.E. http://192.168.1.31/path/to/index.html然后在发出请求之前添加“Host:www.mysite.com”标头。任何符合HTTP / 1.1的服务器都将使用该标头的值作为访问它的域。

完全你如何完成这取决于你用来建立连接的库,但他们都应该能够设置任意标题 - 只要确保它不会覆盖你的自定义“主机”标头,其中有一个来自URL。有关如何实现HTTP请求的示例,请参阅this other StackOverflow question

这是有效的,因为在线上它是所有IP。您可以使用nc,套接字甚至telnet自己尝试。

(open TCP connection to 192.168.1.31 port 80)
GET /path/to/index.html HTTP/1.1
Host: www.mysite.com
                                        <--blank line signals end of headers