博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《HttpClient官方文档》1.7. Redirect handling 翻译
阅读量:6597 次
发布时间:2019-06-24

本文共 1058 字,大约阅读时间需要 3 分钟。

1.7. 重定向处理

HttpClient能够处理所有类型的自动重定向,除了被那些需要用户干预被HTTP规范明确禁止的。考虑到根据HTTP规范中其他被转为GET请求的POST和PUT请求的重定向(状态码303),可以使用一个自定义的重定向策略来降低HTTP规范强制规定的POST方法自动重定向的限制。

LaxRedirectStrategy redirectStrategy = new LaxRedirectStrategy();CloseableHttpClient httpclient = HttpClients.custom().setRedirectStrategy(redirectStrategy).build();

HttpClient在其执行过程中不得不重写请求消息。默认地,HTTP/1.0、HTTP/1.1通常使用相对请求URIs。同样,原始请求可以被重定向到其他位置。 最终解释的HTTP位置由原始的请求和上下文构建。用公共方法URIUtils#resolve构建生成最终请求的解释绝对URI。该方法包括重定向请求或原始请求中的末尾标识片段。

CloseableHttpClient httpclient = HttpClients.createDefault();HttpClientContext context = HttpClientContext.create();HttpGet httpget = new HttpGet("http://localhost:8080/");CloseableHttpResponse response = httpclient.execute(httpget, context);try {HttpHost target = context.getTargetHost();List
redirectLocations = context.getRedirectLocations();URI location = URIUtils.resolve(httpget.getURI(), target, redirectLocations);System.out.println("Final HTTP location: " + location.toASCIIString());// Expected to be an absolute URI} finally {response.close();}

转载自 

你可能感兴趣的文章
网易云瀚海一体机,云计算“全栈”航母带来了什么?
查看>>
Swoole 源码分析——Client模块之Recv
查看>>
分布式系统中处理参数配置的 4 种方案
查看>>
Spring Cloud (1)
查看>>
二叉搜索树的实现与常见用法
查看>>
APICLOUD 1.1.0 开发环境搭建
查看>>
React通用Web应用框架-概述
查看>>
服务器 ssl 配置
查看>>
【freemaker实现导出word②】代码实现导出word(包括导出list数据和导出图片到word)...
查看>>
vue vue-router vuex element-ui axios学习笔记(六)在项目中使用MongoDB完成注册
查看>>
使用 Electron 调用基本或附带图像的通知
查看>>
JS引用类型数据的浅拷贝与深拷贝
查看>>
JS函数节流防抖
查看>>
前端面试-js之object类型JSON
查看>>
webpack2 示例之:Scope Hoisting 和 Code Splitting
查看>>
云端开发运维的三大减速带
查看>>
简简单单制作贪吃蛇小游戏
查看>>
Laravel 从入口到输出过程详解
查看>>
Mesh(一)----System Architecture
查看>>
我不是来约架,我只是请他们说几句实话——QCon上海2015编程语言专题前瞻
查看>>