【问题标题】:302 Found Response for google.com302 找到 google.com 的响应
【发布时间】:2015-07-03 20:47:52
【问题描述】:

我有一个 Java 程序,它将来自客户端的 HTTP 请求转发到 INTERNET 并将响应写回给客户端。但是当客户从他们的浏览器尝试 Google.com 时,我得到 302 found Response from Internet。

这是来自客户的请求:

GET http://google.com/ HTTP/1.1
Host: google.com
Proxy-Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36 OPR/28.0.1750.51
DNT: 1
Accept-Encoding: gzip, deflate, lzma, sdch
Accept-Language: en-US,en;q=0.8
Cookie: PREF=ID=0168c274e46046ff:FF=0:LD=en:TM=1427909641:LM=1428321915:GM=1:S=HGTpo1ahuPUd4Nu2; SID=DQAAAPgAAACOH1NUVCRnVJfjL-W4MtbTmqx9yY1Wbra4LM7D8_uslXU_43zD4QrZl4eHqBuukNoKFw0gD68Vt7DltSgBrOoVRufDgeLImP8321g2-IxjmtqwjJoI9sSM3YEwC5ZvnTNyrwuHhBp-zZqImsaHshVmvt8GEV1WDFHs4OZ74g219CeKYztHKjsQLDS_yZ725qsIKWjvbb_NlnO5IqktZ0Q6JXIMRPzshZQvoq7ZiwH9RfiIASpHIiFC1XDwrMZDcbONpKCke2QxZtmxSPfUHXuBx53bJOZFHUrcAJAvihBAXoFwZHUr2beVtRuLe1w8blbt6AGTy9dT9gZ9nVjeSHzK; HSID=Aso16-EnwP4siCr5Q; APISID=DIHL_mSdprkZSELD/AjGWXXsjCWUT9FEuy; NID=67=DGyWJrkoHYqgDmpEMmQVlnzZQLlwGNTxbAZ8--PQeTPlZ4SbL3AbFNP40h0NOI3ztb_6SkDTHwGJonmESsToDR6Vkmur0VST-6k34xVvQM9FQH_PaoMrK8O6kT0Avd8FIITl7G7ERJbvbwWIsCuhIwZOR2cj2r6aCmnM27A

这是我得到的回应:

HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Location: http://www.google.co.in/?gfe_rd=cr&ei=Uhw7Vbe6H_PI8Ae_qICIBA
Content-Length: 261
Date: Sat, 25 Apr 2015 04:47:14 GMT
Server: GFE/2.0
Alternate-Protocol: 80:quic,p=1

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.co.in/?gfe_rd=cr&amp;ei=Uhw7Vbe6H_PI8Ae_qICIBA">here</A>.
</BODY></HTML>

这是因为 Google 使用 HTTPS 而不是 HTTP。它正在尝试重定向请求...?

但是我应该如何处理这个回复? 我向客户发送相同的响应。但是没有发生重定向, 我该怎么办?

【问题讨论】:

    标签: httpresponse


    【解决方案1】:

    从 Http 响应中的 Location 标头看来,Google 检测到呼叫来自印度,并将呼叫重定向到 Google 印度,即 http://www.google.co.in/?gfe_rd=cr&amp;ei=Uhw7Vbe6H_PI8Ae_qICIBA

    当您收到 302 响应时,您的客户端应该做出正确反应并按照对 Location 标头的调用。

    【讨论】:

    • 谢谢!。 ?我向客户端发送相同的响应。但是没有重定向发生。这意味着没有进一步的请求来自客户端..可能是什么原因..?
    • 他们使用什么浏览器?在将 HTTP 响应发送到浏览器之前,您是否对 Java 中的 http 响应进行任何操作(例如更改 http 状态代码)?
    • 客户端正在尝试使用不同的浏览器。但他们都得到了相同的结果。我在其中一个客户端浏览器中手动输入了重定向 URL google.co.in/?gfe_rd=cr&amp;ei=Uhw7Vbe6H_PI8Ae_qICIBA。然后我得到了另一个回应
    • 这是响应:TTP/1.1 302 Found Location: google.co.in/… Cache-Control: private Content-Type: text/html; charset=UTF-8 日期:2015 年 4 月 25 日星期六 05:36:54 GMT 服务器:gws 内容长度:281 X-XSS-Protection:1; mode=block X-Frame-Options: SAMEORIGIN Alternate-Protocol: 80:quic,p=1
    • 302 已移动 HEAD>

      302 Moved

      文档已移动google.co.in/…>。
    【解决方案2】:

    有时这是一个关于 ipv6 事务与 ipv4 的问题。

    尝试在您的服务器中禁用 ipv6重启

    echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.conf
    

    【讨论】:

      猜你喜欢
      • 2012-02-26
      • 1970-01-01
      • 2017-10-16
      • 2017-06-11
      • 1970-01-01
      • 2020-12-16
      • 2012-03-02
      • 2018-02-08
      • 2022-10-02
      相关资源
      最近更新 更多