-
public
InputStreamgetStream(URLurl,Stringpost,URLcookieurl){
-
HttpURLConnectionconnection;
-
StringcookieVal=null
;
-
StringsessionId=""
;
-
Stringkey=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+";"
;
-
}
-
}
-
InputStreamin=connection.getInputStream();
-
System.out.println(sessionId);
-
}catch
(MalformedURLExceptione){
-
System.out.println("urlcan'tconnection"
);
-
return
null
;
-
}catch
(IOExceptione){
-
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("Contentlength:"+contentLength);
-
if
(responseCode!=HttpURLConnection.HTTP_OK)
return
(
null
);
-
InputStreamin=connection.getInputStream();
-
return
(in);
-
}
-
catch
(Exceptione){
-
//System.out.println(e);
-
//e.printStackTrace();
-
return
(
null
);
-
}
-
-
}
转自:http://stephenjqj.javaeye.com/blog/477194
分享到:
相关推荐
在本文中,我们介绍了JAVA通过HttpURLConnection上传和下载文件的方法。这些方法可以帮助开发者快速实现文件上传和下载的功能,从而提高开发效率和质量。同时,HttpURLConnection也可以用于发送其他类型的HTTP请求,...
在Java编程中,HTTPURLConnection是Java标准库提供的一种用于处理HTTP连接的类,它允许我们发送HTTP请求并接收响应。然而,HTTP协议本身是无状态的,这意味着每次请求都是独立的,不会记住之前的交互,这对于需要...
在发送GET请求时,设置CookieHeader,使得请求带有登录状态: ```java URL targetUrl = new URL("需要爬取的数据接口URL"); HttpURLConnection dataConn = (HttpURLConnection) targetUrl.openConnection(); ...
通过本文,我们不仅了解了如何使用`URLConnection`发送GET和POST请求,还学习了如何处理Cookie、上传文件及下载网页等内容。这对于构建Web应用或进行网络编程都是非常有用的技能。当然,实际开发中还可能遇到更多...
在Android开发中,HTTP协议是应用层网络通信的...总结,本文介绍了使用`HttpURLConnection`在Android中发送GET和POST请求的基本步骤,以及需要注意的关键点。理解这些概念有助于开发者在构建网络功能时做出明智的选择。
在Java中,Socket类代表了TCP连接,它允许发送和接收字节流。在爬虫中,我们可以使用Socket创建到目标服务器的连接,然后发送HTTP请求并接收响应数据。 HttpURLConnection是Java.net包中的另一个关键类,它是HTTP...
//得到Cookie的所有内容,包括SESSIONID,在进行下次提交的时候 直接把这个Cookie的值设到头里头就行了 //淡然只得到SESSIONID也很简单的 ,但是有时候Set-Cookie的值有几个的 List<String> list = (List) ...
在发送下一个请求时,`CookieManager`会自动将相关Cookies添加到请求头的Cookie字段。如果需要手动设置,可以调用`setRequestProperty("Cookie", cookieString)`,但通常不推荐这种做法,因为`CookieManager`可以...
本篇文章将详细介绍如何使用Java语言来模拟发送网页请求,并特别关注POST请求及Cookie的处理。 #### 二、模拟发送GET请求 首先,我们来看看如何使用Java的`java.net.URL`类和`java.net.HttpURLConnection`类来模拟...
String cookie = "要发送的cookie"; URL url = new URL(urlPath); URLConnection conn = url.openConnection(); conn.setRequestProperty("Cookie", cookie); conn.setDoInput(true); BufferedReader br = new ...
在发送链接时,可能会附带一个唯一的Cookie,以便在用户访问链接时能识别用户身份。Java的`javax.servlet.http.Cookie`类可以帮助我们创建、读取和管理Cookie。 5. **MD5加密**:MD5(Message-Digest Algorithm 5)...
下面将详细讲解如何使用`HttpURLConnection`进行网页内容获取、Cookie管理以及POST方式的数据提交。 1. **网页内容获取** 要从指定的URL获取网页内容,首先需要创建一个`URL`对象,然后调用`openConnection()`...
在Java编程中,发送HTTP POST请求来登录一个网站并实现客户端功能是一项常见的任务。这个过程涉及到网络通信协议、HTTP状态码以及数据传输等关键概念。本文将深入探讨这些知识点,并结合给定的场景,即“登录页面...
在Java后台开发中,HTTP请求是与...在使用RequestHelper类时,只需要传入相应的URL、参数和Cookie,就可以方便地发起GET或POST请求了。这个封装类简化了Java后台处理HTTP请求的过程,提高了代码的可读性和可复用性。
在Java编程语言中,发送HTTP请求是常见的网络通信任务,主要应用于数据交换和服务端API的调用。这篇博文“JAVA NET 发送HTTP请求”可能详细介绍了如何使用Java的内置库`java.net`来实现这一功能。`java.net`包提供了...
这个类是Java程序员在进行网络编程时常用的工具,尤其是在发送HTTP请求和处理响应时。本篇文章将深入探讨HttpURLConnection的使用方法、特性以及一些关键的示例代码。 一、HttpURLConnection简介 ...
POST方法用于向服务器发送数据,如表单提交,参数在请求体中,不显示在URL上,且数据量无限制。 1. **GET请求**: - 使用`java.net.URL`和`java.net.HttpURLConnection`类创建GET请求。首先,构造URL对象,然后...
2. **HttpClient库**:Java中可以使用Apache HttpClient库或者Java内置的HttpURLConnection来发送POST请求。HttpClient提供了一套完善的API,方便我们构建请求头、设置请求参数、处理响应等。 3. **模拟登录**:...
在处理HTTP请求时,Cookie是存储在客户端的临时或持久状态信息。`URLConnection`默认不支持Cookie管理,但可以通过以下方式手动处理: ```java Map, List<String>> headers = connection.getHeaderFields(); List...
因此,需要检查每个Cookie的有效期,并在过期时清除对应的SharedPreferences记录,同时在下次请求时不再附带该Cookie。 5. **安全考虑**:Cookie可能包含敏感信息,如会话ID,所以必须确保网络请求使用HTTPS协议,...