怎么能读取网页有cookie的内容,java怎么实现?
/**
* 读取网络的一个文本文件(图片不行)
* @param url
* @return String
*/
public String urlConnnect(String url)
{
String inputLine;
String temp = "";
try
{
URL yahoo = new URL(url);
BufferedReader in = new BufferedReader(new InputStreamReader(yahoo.openStream()));
while ((inputLine=in.readLine()) != null)
temp = temp + inputLine + "\n";
in.close();
}
catch(Exception e)
{
e.printStackTrace();
System.out.println(e);
}
return temp;
}
这是不带cookie的读取方法,带的要怎么实现?
/**
* 读取网络的一个文本文件(图片不行)
* @param url
* @return String
*/
public String urlConnnect(String url)
{
String inputLine;
String temp = "";
try
{
URL yahoo = new URL(url);
BufferedReader in = new BufferedReader(new InputStreamReader(yahoo.openStream()));
while ((inputLine=in.readLine()) != null)
temp = temp + inputLine + "\n";
in.close();
}
catch(Exception e)
{
e.printStackTrace();
System.out.println(e);
}
return temp;
}
这是不带cookie的读取方法,带的要怎么实现?
去下个HttpClient的包
HttpClient client=new HttpClient();
GetMethod method=new GetMethod(url);
int status=client.excute..Method(method);这单词有点长,记不住了.
Cookies[] cookies=client.getStatu.getCookie();
这就行了!
import java.io.*;public class myCookie {
public myCookie() {
}
/*
* 本文件集中了读、写、删除COOKIE的方法
*/
// 定义ICP的域名.xerllent.cn
public static String hostName = ".xerllent.cn";
/**
* <p>Desc: 读取的COOKIE的方法 </p>
* @param request HttpServletRequest的请求句本.
* @param cookieName COOKIE对象的名称.
* @return 返回对应于COOKIE对象的名称的内容.
*/
public static String getCookieValue(HttpServletRequest request, String cookieName) {
Cookie cookie, aryCookie[];
aryCookie = request.getCookies();
if (aryCookie == null) {
return null;
}
for (int i = 0; i < aryCookie.length; i++) {
cookie = aryCookie[i];
if (cookie.getName().equals(cookieName)) {
return cookie.getValue();
}
}
return null;
} /**
* <p>Desc: 删除的COOKIE的方法 </p>
*
* @param request HttpServletRequest的请求句本.
* @param response HttpServletResponse的请求句本.
* @param cookieName COOKIE对象的名称.
*
* @return 返回对应于COOKIE对象的名称的内容..
*/
public static void removeCookie(HttpServletRequest request,
HttpServletResponse response,
String cookieName) {
Cookie cookie, aryCookie[];
aryCookie = request.getCookies();
int i; for (i = 0; i < aryCookie.length; i++) {
cookie = aryCookie[i]; if (cookie.getName().equals(cookieName)) {
cookie.setValue(null);
response.addCookie(cookie);
}
else {
Cookie cook = new Cookie(cookieName, null);
cook.setVersion(0);
response.addCookie(cook);
}
}
} /**
* <p>Desc: 写的COOKIE的方法 </p>
*
* @param request HttpServletRequest的请求句本.
* @param response HttpServletResponse的请求句本.
* @param cookieName COOKIE对象的名称.
* @param cookieValue 对应于COOKIE对象的名称的内容.
*
*/
public static void addCookie(HttpServletResponse response,
String cookieName,
String cookieValue) {
Cookie cookie;
cookie = new Cookie(cookieName, cookieValue);
cookie.setDomain(hostName);
cookie.setPath("/");
cookie.setVersion(0);
response.addCookie(cookie);
} /**
* <p>Desc: 写的COOKIE的方法 </p>
*
* @param request HttpServletRequest的请求句本.
* @param response HttpServletResponse的请求句本.
* @param cookieName COOKIE对象的名称.
* @param cookieValue 对应于COOKIE对象的名称的内容.
*
*/
public static void addCookie(HttpServletRequest request,
HttpServletResponse response,
String cookieName,
String cookieValue) {
Cookie cookie;
cookie = new Cookie(cookieName, cookieValue);
cookie.setDomain(hostName);
cookie.setPath("/");
cookie.setVersion(0);
response.addCookie(cookie);
}}
<%
param=myCookie.getCookieValue(request, "paramstr");
%>
for(int i=0;i<cok.length;i++){
String s=(String)cok[0].getValue();
System.out.println(s);
}
import javax.servlet.http.*;/**
* Two static methods for use in cookie handling.
*/public class CookieUtilities { /**
* Given the request object, a name, and a default value, this method tries
* to find the value of the cookie with the given name. If no cookie matches
* the name, the default value is returned.
*/ public static String getCookieValue(HttpServletRequest request,
String cookieName, String defaultValue) {
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (int i = 0; i < cookies.length; i++) {
Cookie cookie = cookies[i];
if (cookieName.equals(cookie.getName())) {
return (cookie.getValue());
}
}
}
return (defaultValue);
} /**
* Given the request object and a name, this method tries to find and return
* the cookie that has the given name. If no cookie matches the name, null
* is returned.
*/ public static Cookie getCookie(HttpServletRequest request, String cookieName) {
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (int i = 0; i < cookies.length; i++) {
Cookie cookie = cookies[i];
if (cookieName.equals(cookie.getName())) {
return (cookie);
}
}
}
return (null);
}
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Ck</title></head>");
out.println("<body bgcolor=\"#ffffff\">");
String sId=null;
Cookie cookies[]=request.getCookies();
if(cookies!=null)
{
for(int i=0;i<cookies.length;i++)
{
if (cookies[i].getName().equals("sessionId"))
sId = cookies[i].getValue();
break;
}
}
if(sId==null)
{
Random rand=new Random();
sId=Long.toString(rand.nextLong());
out.println("<h1>第一次 号为:"+sId+"</h1>");
}
else
{
out.println("<h1>老顾客 号为:"+sId+"</h1>");
}
Cookie c=new Cookie("sessionId",sId);
c.setMaxAge(10);
response.addCookie(c);
out.println("<a href='/WebModule1/ck'>再来一次</a>");
// out.println("<a href='http://localhost:8080/WebModule2/servlet1'>再来一次</a>");
out.println("</body>");
out.println("</html>");
out.close();
} //Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request, response);
} //Clean up resources
public void destroy() {
}
}