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上传和下载文件的方法。这些方法可以帮助开发者快速实现文件上传和下载的功能,从而提高开发效率和质量。同时,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协议,...