【文件属性】:
文件名称:通过HttpURLConnection获取SESSIONID
文件大小:2KB
文件格式:JAVA
更新时间:2013-01-20 08:11:24
SESSIONID HttpURLConnection Cookie
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import java.util.Map;
public class HttpTest
{
private HttpURLConnection hc = null;
private static final String oneUrlString = "http://xxx.jsp";
private static final String twoUrlString = "http://xxx.action";
public String getSessionId()
{
String sessionId = "";
try
{
URL url = new URL(oneUrlString);
hc = (HttpURLConnection) url.openConnection();//默认的用GET提交
hc.setDoOutput(true);
hc.connect();
Map map = hc.getHeaderFields();
//得到Cookie的所有内容,包括SESSIONID,在进行下次提交的时候 直接把这个Cookie的值设到头里头就行了
//淡然只得到SESSIONID也很简单的 ,但是有时候Set-Cookie的值有几个的
List list = (List) map.get("Set-Cookie");
if(list.size() == 0||list == null)
{
return null;
}
StringBuilder builder = new StringBuilder();
for(String str : list)
{
sessionId = builder.append(str).toString();
}
hc.disconnect();
} catch (MalformedURLException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
return sessionId;
}
public String getResponseContext(String parameters)
{
String responseContext = "";
try
{
URL url = new URL(twoUrlString);
hc = (HttpURLConnection) url.openConnection();//使用POST提交
hc.addRequestProperty("Cookie", getSessionId());
hc.setDoOutput(true);
hc.connect();
OutputStream out = hc.getOutputStream();
//参数是a=""&b=""这样拼接的一个串
out.flush();
out.close();
out.write(parameters.getBytes(),0,parameters.getBytes().length);
InputStream in = hc.getInputStream();
InputStreamReader reader = new InputStreamReader(in,"gb2312");
BufferedReader read = new BufferedReader(reader);
StringBuilder builder = new StringBuilder();
String str = "";
while((str = read.readLine()) != null)
{
builder = builder.append(str);
}
read.close();
reader.close();
in.close();
hc.disconnect();
responseContext = builder.toString();
} catch (MalformedURLException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
return responseContext;
}
}