`
deaboway
  • 浏览: 56953 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

Java代码
  1. public InputStreamgetStream(URLurl,Stringpost,URLcookieurl){
  2. HttpURLConnectionconnection;
  3. StringcookieVal=null ;
  4. StringsessionId="" ;
  5. Stringkey=null ;
  6. if (cookieurl!= null ){
  7. try {
  8. connection=(HttpURLConnection)cookieurl.openConnection();
  9. for ( int i= 1 ;(key=connection.getHeaderFieldKey(i))!= null ;i++){
  10. if (key.equalsIgnoreCase( "set-cookie" )){
  11. cookieVal=connection.getHeaderField(i);
  12. cookieVal=cookieVal.substring(0 ,cookieVal.indexOf( ";" ));
  13. sessionId=sessionId+cookieVal+";" ;
  14. }
  15. }
  16. InputStreamin=connection.getInputStream();
  17. System.out.println(sessionId);
  18. }catch (MalformedURLExceptione){
  19. System.out.println("urlcan'tconnection" );
  20. return null ;
  21. }catch (IOExceptione){
  22. System.out.println(e.getMessage());
  23. return null ;
  24. }
  25. }
  26. try {
  27. connection=(HttpURLConnection)url.openConnection();
  28. //这个要写在Post前,否则会取不到值,原因我不知道
  29. if (cookieurl!= null ){
  30. connection.setRequestProperty("Cookie" ,sessionId);
  31. }
  32. if (post!= "" ){
  33. connection.setDoOutput(true );
  34. connection.setRequestMethod("POST" );
  35. connection.getOutputStream().write(post.getBytes());
  36. connection.getOutputStream().flush();
  37. connection.getOutputStream().close();
  38. }
  39. int responseCode=connection.getResponseCode();
  40. int contentLength=connection.getContentLength();
  41. //System.out.println("Contentlength:"+contentLength);
  42. if (responseCode!=HttpURLConnection.HTTP_OK) return ( null );
  43. InputStreamin=connection.getInputStream();
  44. return (in);
  45. }
  46. catch (Exceptione){
  47. //System.out.println(e);
  48. //e.printStackTrace();
  49. return ( null );
  50. }
  51. }

转自:http://stephenjqj.javaeye.com/blog/477194

分享到:
评论

相关推荐

    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