HttpURLConnection重定向,获取及设置cookie

HttpURLConnection获取重定向地址和cookie的代码如下:
public  void first() throws Exception{
		Map<String, String> paramsHashMap = new HashMap<String, String>();
		paramsHashMap.put("IF_NO", "IF0002");
		paramsHashMap.put("UID", "12345");
		firstRequest(API_HTTP, paramsHashMap, "UTF-8");
	}

   private  void firstRequest(String path, Map<String, String> params, String encoding) throws Exception{
		StringBuilder sb = new StringBuilder();
		if(params!=null && !params.isEmpty()){
			for(Map.Entry<String, String> entry : params.entrySet()){
				sb.append(entry.getKey()).append('=');
				sb.append(URLEncoder.encode(entry.getValue(), encoding));
				sb.append('&');
			}
			sb.deleteCharAt(sb.length() - 1);
		}
		byte[] entity = sb.toString().getBytes();
		HttpURLConnection conn = (HttpURLConnection) new URL(path).openConnection();
		conn.setInstanceFollowRedirects(true);
		conn.setConnectTimeout(5000);
		conn.setRequestMethod("POST");
		conn.setDoOutput(true);
		conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
		conn.setRequestProperty("Content-Length", String.valueOf(entity.length));
		OutputStream outStream = conn.getOutputStream();
		outStream.write(entity);
		//获取重定向地址
		redictURL= conn.getHeaderField( "Location" );

		System.out.println("第一次请求重定向地址 location="+redictURL);
		System.out.println("第一次请求 conn.getResponseCode()="+conn.getResponseCode());

		//获取cookie
		Map<String,List<String>> map=conn.getHeaderFields();
		Set<String> set=map.keySet();
		for (Iterator iterator = set.iterator(); iterator.hasNext();) {
			String key = (String) iterator.next();
			if (key.equals("Set-Cookie")) {
				System.out.println("key=" + key+",开始获取cookie");
				List<String> list = map.get(key);
				StringBuilder builder = new StringBuilder();
				for (String str : list) {
					builder.append(str).toString();
				}
				firstCookie=builder.toString();
				System.out.println("第一次得到的cookie="+firstCookie);
			}
		}

	}

HttpURLConnection在请求头中设置cookie的代码如下:

 

conn.setRequestMethod("POST");
conn.setRequestProperty("Cookie", firstCookie);
时间: 2024-10-23 10:01:15

HttpURLConnection重定向,获取及设置cookie的相关文章

可兼容IE的获取及设置cookie的jquery.cookie函数方法_jquery

前言 在开发过程中,因为之前有接触过Discuz,就直接拿其common.js里面的getcookie和setcookie方法来使用,做到后面在使用IE来测试的时候,发现这两个方法子啊IE下不起作用,就请教同事,这样就有了jquery.cookie.js文件的由来,里面的代码很少,我贴在下面,方便以后使用和研究吧. 源码 复制代码 代码如下: /** * Cookie plugin * * Copyright (c) 2006 Klaus Hartl (stilbuero.de) * Dual

javascript实现设置、获取和删除Cookie的方法

  本文实例讲述了javascript实现设置.获取和删除Cookie的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

https重定向http,在ie11下,http获取不到cookie?

问题描述 https重定向http,在ie11下,http获取不到cookie? 从https:xxx.ff.com到http:yyy.ff.com,在https写cookie,之后在http下,获取不到cookie(在ie6-10,火狐,谷歌都能获取), 只有IE11获取不到,网上说在写cookie的时候加上p3p,试了还是没用.求 大神帮忙解决一下. 解决方案 换一个方式,比如只有http或者https

js设置cookie,获取cookes,清除cookie代码

提示:您可以先修改部分代码再运行 js设置cookie,获取cookes,清除cookie代码 提示:您可以先修改部分代码再运行 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索代码 php 清除cookie代码.java代码清除cookie.xss获取cookie代码.清除cookie.js清除cookie,以便于您获取更多的相关知识.

JS设置cookie、读取cookie、删除cookie

 JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的. 而cookie是运行在客户端的,所以可以用JS来设置cookie. 假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使用JS来引用temp的变量值,对于JS中的全局变量或者静态变量的生命周期是有限的,当发生页面跳转或者页面关闭的时候,这些变量的值会重新载入,即没有达到保存的效果.解决这个问

php利用P3P头实现跨域设置cookie

在开发中,我们碰到的跨域主要还是纠结在IE,页面中的IFRAME或者FRAME或者JS跨域的时候,IE有安全策略限制页面不带cookie,但是如果我们加上P3P,就没有这策略的限制.这也是P3P来突破跨域的可行前提,其实在firefox chorme类浏览器里面是没有这个限制的. 首先我们了解一下P3P是什么? P3P(Platform for Privacy Preferences)是W3C公布的一项隐私保护推荐标准,以为用户提供隐私保护. P3P标准的构想是:Web 站点的隐私策略应该告之访

获取和设置用户访问页面语言的php类

User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language.根据用户选择的语言显示对应的页面(英文,简体中文,繁体中文) UserLang.class.php <?php /** User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language * Date: 2014-05-26 * Author: fdipzone * Ver: 1.0 * * Fun

php实现获取及设置用户访问页面语言类

 本文实例讲述了php实现获取及设置用户访问页面语言类,分享给大家供大家参考.具体分析如下: 该实例User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language.根据用户选择的语言显示对应的页面(英文,简体中文,繁体中文) UserLang.class.php类文件如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

jQuery设置Cookie及删除Cookie实例分析_jquery

本文实例讲述了jQuery设置Cookie及删除Cookie的方法.分享给大家供大家参考,具体如下: 这是一个jQuery cookie的使用例子,通过本示例的学习希望朋友们能熟悉在引入jquery.cookie.js插件后,如何去使用它,你可以了解到cookie天数设置.日期设置.多个cookie的设置.如何获取Cookie.通过 date 对象设置过期日期为 3 天后的那天.设置有效期天数等小技巧. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0