`
jqj031
  • 浏览: 72867 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

java httpurlconnection 发送cookie时,cookie要在Post前发送

    博客分类:
  • java
阅读更多
public InputStream getStream(URL url,String post,URL cookieurl){
		HttpURLConnection connection;
		String cookieVal = null;
		String sessionId = "";
		String key=null;
		if(cookieurl!=null){			
			try{
				connection = (HttpURLConnection)cookieurl.openConnection();
				for (int i = 1; (key = connection.getHeaderFieldKey(i)) != null; i++ ) {
					if (key.equalsIgnoreCase("set-cookie")) {
						cookieVal = connection.getHeaderField(i);
						cookieVal = cookieVal.substring(0, cookieVal.indexOf(";"));
						sessionId = sessionId+cookieVal+";";
					}
				}
				InputStream in = connection.getInputStream();
				System.out.println(sessionId);
			}catch(MalformedURLException e){
				System.out.println("url can't connection");
				return null;
			}catch(IOException e){
				System.out.println(e.getMessage());
				return null;
			}
		}

		try {
			connection = (HttpURLConnection)url.openConnection();
			//这个要写在Post前,否则会取不到值,原因我不知道
			if(cookieurl!=null){
				connection.setRequestProperty("Cookie", sessionId);
			}
			if(post!=""){
				connection.setDoOutput(true);
				connection.setRequestMethod("POST");
				connection.getOutputStream().write(post.getBytes());
				connection.getOutputStream().flush();
				connection.getOutputStream().close();
			}
			int responseCode = connection.getResponseCode();
			int contentLength = connection.getContentLength();
			// System.out.println("Content length: "+contentLength);
			if (responseCode != HttpURLConnection.HTTP_OK ) return(null);
			InputStream in = connection.getInputStream();
			return(in);
		}
		catch(Exception e) {
			// System.out.println(e);
			// e.printStackTrace();
			return(null);
		}
		
	}
分享到:
评论

相关推荐

    JAVA通过HttpURLConnection 上传和下载文件的方法

    在本文中,我们介绍了JAVA通过HttpURLConnection上传和下载文件的方法。这些方法可以帮助开发者快速实现文件上传和下载的功能,从而提高开发效率和质量。同时,HttpURLConnection也可以用于发送其他类型的HTTP请求,...

    java实现多次HttpURLConnection共享session

    在Java编程中,HTTPURLConnection是Java标准库提供的一种用于处理HTTP连接的类,它允许我们发送HTTP请求并接收响应。然而,HTTP协议本身是无状态的,这意味着每次请求都是独立的,不会记住之前的交互,这对于需要...

    java网络爬虫-通过登陆网站携带COOKIE信息爬取网站数据

    在发送GET请求时,设置CookieHeader,使得请求带有登录状态: ```java URL targetUrl = new URL("需要爬取的数据接口URL"); HttpURLConnection dataConn = (HttpURLConnection) targetUrl.openConnection(); ...

    java URLConnection全面解析(通俗易懂,包括cookie操作和上传文件)

    通过本文,我们不仅了解了如何使用`URLConnection`发送GET和POST请求,还学习了如何处理Cookie、上传文件及下载网页等内容。这对于构建Web应用或进行网络编程都是非常有用的技能。当然,实际开发中还可能遇到更多...

    Http学习之使用HttpURLConnection发送post和get请求 android

    在Android开发中,HTTP协议是应用层网络通信的...总结,本文介绍了使用`HttpURLConnection`在Android中发送GET和POST请求的基本步骤,以及需要注意的关键点。理解这些概念有助于开发者在构建网络功能时做出明智的选择。

    基于Socket和HttpURLConnection的爬虫实例

    在Java中,Socket类代表了TCP连接,它允许发送和接收字节流。在爬虫中,我们可以使用Socket创建到目标服务器的连接,然后发送HTTP请求并接收响应数据。 HttpURLConnection是Java.net包中的另一个关键类,它是HTTP...

    通过HttpURLConnection获取SESSIONID

    //得到Cookie的所有内容,包括SESSIONID,在进行下次提交的时候 直接把这个Cookie的值设到头里头就行了 //淡然只得到SESSIONID也很简单的 ,但是有时候Set-Cookie的值有几个的 List<String> list = (List) ...

    java http 操作cookies

    在发送下一个请求时,`CookieManager`会自动将相关Cookies添加到请求头的Cookie字段。如果需要手动设置,可以调用`setRequestProperty("Cookie", cookieString)`,但通常不推荐这种做法,因为`CookieManager`可以...

    JAVA模拟网页发送请求

    本篇文章将详细介绍如何使用Java语言来模拟发送网页请求,并特别关注POST请求及Cookie的处理。 #### 二、模拟发送GET请求 首先,我们来看看如何使用Java的`java.net.URL`类和`java.net.HttpURLConnection`类来模拟...

    在java中http请求带cookie的例子

    String cookie = "要发送的cookie"; URL url = new URL(urlPath); URLConnection conn = url.openConnection(); conn.setRequestProperty("Cookie", cookie); conn.setDoInput(true); BufferedReader br = new ...

    java邮箱和手机发送链接和验证码

    在发送链接时,可能会附带一个唯一的Cookie,以便在用户访问链接时能识别用户身份。Java的`javax.servlet.http.Cookie`类可以帮助我们创建、读取和管理Cookie。 5. **MD5加密**:MD5(Message-Digest Algorithm 5)...

    【Java】java.net.HttpURLConnection的使用.doc

    下面将详细讲解如何使用`HttpURLConnection`进行网页内容获取、Cookie管理以及POST方式的数据提交。 1. **网页内容获取** 要从指定的URL获取网页内容,首先需要创建一个`URL`对象,然后调用`openConnection()`...

    java 作为客户端发送http post请求登录网站首页。

    在Java编程中,发送HTTP POST请求来登录一个网站并实现客户端功能是一项常见的任务。这个过程涉及到网络通信协议、HTTP状态码以及数据传输等关键概念。本文将深入探讨这些知识点,并结合给定的场景,即“登录页面...

    java后台用GET POST方式提交封装类

    在Java后台开发中,HTTP请求是与...在使用RequestHelper类时,只需要传入相应的URL、参数和Cookie,就可以方便地发起GET或POST请求了。这个封装类简化了Java后台处理HTTP请求的过程,提高了代码的可读性和可复用性。

    JAVA NET 发送HTTP请求

    在Java编程语言中,发送HTTP请求是常见的网络通信任务,主要应用于数据交换和服务端API的调用。这篇博文“JAVA NET 发送HTTP请求”可能详细介绍了如何使用Java的内置库`java.net`来实现这一功能。`java.net`包提供了...

    HttpURLConnection使用总结示例源码

    这个类是Java程序员在进行网络编程时常用的工具,尤其是在发送HTTP请求和处理响应时。本篇文章将深入探讨HttpURLConnection的使用方法、特性以及一些关键的示例代码。 一、HttpURLConnection简介 ...

    java后台请求http并保持Session

    POST方法用于向服务器发送数据,如表单提交,参数在请求体中,不显示在URL上,且数据量无限制。 1. **GET请求**: - 使用`java.net.URL`和`java.net.HttpURLConnection`类创建GET请求。首先,构造URL对象,然后...

    java使用post登陆新浪微博并保存登陆后网页程序

    2. **HttpClient库**:Java中可以使用Apache HttpClient库或者Java内置的HttpURLConnection来发送POST请求。HttpClient提供了一套完善的API,方便我们构建请求头、设置请求参数、处理响应等。 3. **模拟登录**:...

    java URLConnection全面总结(包括cookie的详细操作).docx

    在处理HTTP请求时,Cookie是存储在客户端的临时或持久状态信息。`URLConnection`默认不支持Cookie管理,但可以通过以下方式手动处理: ```java Map, List<String>> headers = connection.getHeaderFields(); List...

    Android下登录Demo(使用了读写Cookie操作)

    因此,需要检查每个Cookie的有效期,并在过期时清除对应的SharedPreferences记录,同时在下次请求时不再附带该Cookie。 5. **安全考虑**:Cookie可能包含敏感信息,如会话ID,所以必须确保网络请求使用HTTPS协议,...

Global site tag (gtag.js) - Google Analytics