首页 > 技术文章 > android中利用HttpURLConnection进行Get、Post和Session读取页面。

ddddfpxx 2017-01-20 21:49 原文

直接上代码,调用的时候要放在线程中。

package slj.getsms;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.IOException;

public class sljWork {
	public static String GetDataFromKC(String loginUrl,String loginParam,String indexUrl)
	{
		byte[] btParam=loginParam.getBytes();
		try{
			URL url=new URL(loginUrl);
			HttpURLConnection conn=(HttpURLConnection)url.openConnection();
			conn.setConnectTimeout(3000);
			conn.setRequestMethod("POST");
			conn.setInstanceFollowRedirects(false);
			OutputStream outStream=conn.getOutputStream();
			outStream.write(btParam);
			conn.connect();
			String[] backHeader=conn.getHeaderField("Location").split(";");
			String sessionId="user_login_id=dddd; "+backHeader[1].toUpperCase();
			URL nextUrl=new URL(indexUrl);
			HttpURLConnection nextConn=(HttpURLConnection)nextUrl.openConnection();
			nextConn.addRequestProperty("Cookie",sessionId);
			nextConn.connect();
			BufferedReader bufReader=new BufferedReader(new InputStreamReader(nextConn.getInputStream(),"GBK"));
			String backData="";
			String line="";
			while((line=bufReader.readLine())!=null)
				backData+=line+"\r\n";
			return backData;
		}catch (IOException e){
			return "ErrorInfo:"+e.getMessage().toString();
		}
	}
	public static String GetDataByPost(String strUrl)
	{
		byte[] btPostData=new String("pname=slj&ppass=slj").getBytes();
		try{
			URL url=new URL(strUrl);
			HttpURLConnection conn=(HttpURLConnection)url.openConnection();
			conn.setConnectTimeout(3000);
			conn.setRequestMethod("POST");
			conn.setInstanceFollowRedirects(false);
			OutputStream outStream=conn.getOutputStream();
			outStream.write(btPostData);
			conn.connect();
			BufferedReader bufReader=new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));
			String backData="";
			String line="";
			while((line=bufReader.readLine())!=null)
				backData+=line+"\r\n";
			return backData;
		}catch(IOException e){
			return "ErrorInfo:"+e.getMessage().toString();
		}
	}
	public static String GetDataByGet(String strUrl)
	{
		try{
			URL url=new URL(strUrl);
			HttpURLConnection conn=(HttpURLConnection)url.openConnection();
			conn.setConnectTimeout(3000);
			conn.setRequestMethod("GET");
			conn.connect();
			BufferedReader bufReader=new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));
			String backData="";
			String line="";
			while((line=bufReader.readLine())!=null)
				backData+=line+"\r\n";
			return backData;
		}catch(IOException e){
			return "ErrorInfo:"+e.getMessage().toString();
		}
	}
}

 

推荐阅读