httpclient 302 重定向

  1. 主要是由于页面可能不是通过 request.sendRedirect跳转的,可能通过js  location跳转的。所以需要拿跳转后的 地址,重新发送请求。。。如下所示
  2.  if (status == HttpStatus.SC_MOVED_PERMANENTLY || status == HttpStatus.SC_MOVED_TEMPORARILY) {
     Header locationHeader = hm.getResponseHeader("location");
     String location = null;
     if (locationHeader != null) {
     location = locationHeader.getValue();
     GetMethod redirect=new GetMethod(location);
     int status_ =   http.executeMethod(redirect);
    if (status_ != HttpStatus.SC_OK) {
    throw new JobExecutionException("[执行结果=失败][状态码=" + status + "]" + (hm.getStatusLine() == null ? "" : "[信息=" + hm.getStatusText() + "]"));
    }
     //responseBody = getPostResponse(location, parts);// 用跳转后的页面重新请求。
      }
      } else if (status == HttpStatus.SC_OK) {
        responseBody = hm.getResponseBodyAsString();
     }else{
        //非正常执行,异常处理代码。。
     }
时间: 2024-10-30 01:17:17

httpclient 302 重定向的相关文章

HttpClient 302重定向

CloseableHttpClient是线程安全的,单个实例可用于处理多个HTTP请求,Http Client会自动处理所有的重定向,关闭自动重定向需要设定disableAutomaticRetries() RequestConfig config = RequestConfig.custom().setRedirectsEnabled(false).build();//不允许重定向 RequestConfig config = RequestConfig.custom()..build();/

我给女朋友讲编程html系列(11)—网页重定向,301重定向,302重定向

虽然以前只在淘宝买东西,不过现在对其他电商也不排斥了,就比如京东吧,今天就以京东为例. 你在浏览器中输入“360buy.com”,看看发生了什么? 另外输入“jingdong.com”,再看看发生了什么?看看网址变了没有? 见证奇迹,请看下图: 不管你输入哪个网址,都会转到这个网址. 这其实叫“重定向”,那么怎么实现网站重定向呢? 任意新建一个网页,如a.html,名字随便叫,只要后缀是.html就行了.输入下面的html代码: <html> <head> <meta htt

Http状态码之:301、302重定向

概念 301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一.如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址.除非额外指定,否则这个响应也是可缓存的. 新的永久性的URI应当在响应的Location域中返回.除非这是一个HEAD请求,否则响应的实体中应当包含指向新的URI的超链接及简短说明. 如果这不是一个GET或者HEAD请求,因此浏览器禁止自动进行重定向,除非得到用户的确

301与302重定向的区别

1.什么是301转向?什么是301重定向? 301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址. 2.什么是302重定向? 302重定向又称之为302代表暂时性转移(Temporarily Moved ),英文名称:302 redirect. 也被认为是暂时重定向(temporary redirect),一条对网站浏览器的指令来显示浏览器被要求显示的不同的UR

302 重定向和网址劫持

一.介绍 302重定向又称之为302代表暂时性转移(Temporarily Moved ),英文名称:302 redirect. 也被认为是暂时重定向(temporary redirect), 一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过短期的URL的变化时使用.一个暂时重定向是一种服务器端的重定 向,能够被搜索引擎蜘蛛正确地处理. 二.302 重定向和网址劫持 从网址A 做一个302 重定向到网址B 时,主机服务器的隐含意思是网址A 随时有可能改主意,重新显示本

HTTP GET请求302重定向问题

1.问题描述 ① 在华为云服务器中搭建了java环境,并在tomcat中部署了一个空的web项目 ② 在此web项目中上传了一个名为:plugin_DTDREAM_LIVING_DEHUMIDIFIER_N20A3_a1JUeSqpS3D.zip的压缩文件,当时通过chrome浏览器访问连接: http://x.x.x.x:8002/plug/plugin_DTDREAM_LIVING_DEHUMIDIFIER_N20A3_a1JUeSqpS3D.zip可以下载到此文件 ③ 我在此linux服务

Python requests jira登录302重定向

总结一下自己在用Python requests库对jira进行的一个bug统计时,在登录遇到的问题,以前也遇到过登录302重定向的问题,那个时候用requests同样的方法没有获取到cookie,但是jira可以用requests获取到cookie,我也不知道怎么回事 网上百度了很多资料,好多都是用jira这个库来来统计的,但是我想自己用Python来写一下,以下做个记录, 1,首先了解一下接口登录大概的信息,看看jira登录时抓包的情况,我用的是谷歌F12 login.jsp接口详情如下,经试

网站后端_Python+Flask.0007.FLASK构造跳转之301跳转与302重定向?

构造地址: 说明: FLASK支持通过视图函数及传参来构造URL,而且未来修改URL可一次性修改,且默认构建会转义特殊字符和Unicode数据,这些工作不需要我们自己处理,且不仅支持在上下文中构造而且还支持在模版文件中构造 #!/usr/bin/env python # -*- coding: utf-8 -*- """ # # Authors: limanman # 51CTOBG: http://xmdevops.blog.51cto.com/ # Purpose: #

nginx支持缓存302重定向后的文件到本地

试想一下这样一个需求: 在使用nginx反向代理的时候,我们需要缓存从后端服务器拉取的内容,正常情况下,如果所需要的内容就在后端服务器上,那么很容易,使用nginx的 proxy_cache模块就能够实现缓存.但是有一种情况:内容没有在后端服务器上,而是从后端服务器返回了一个重定向地址,重定向到了第三方服务器, 那么这时候nginx缓存下来的内容就是不是我们需要的源内容了,而是一个只包含重定向链接的文件,那么我们如何应对这一情况呢? X-accel允许在nginx内部重定向到一个从后端服务器返回