zoukankan      html  css  js  c++  java
  • android中利用HttpURLConnection进行Get、Post和Session读取页面。

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

    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+"
    ";
    			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+"
    ";
    			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+"
    ";
    			return backData;
    		}catch(IOException e){
    			return "ErrorInfo:"+e.getMessage().toString();
    		}
    	}
    }
    
  • 相关阅读:
    [ZT].Net中動態建立和調用WebServices的方法
    英文符号读法整理
    [ZT]SQL Server 的事务日志意外增大或充满的处理方法
    [ZT]Asp.net發布至英文服务器后出现的日期格式问题
    [ZT]如何取得客户端的Windows登录用户名?
    囧!一个盗版用户和微软客服的通话记录
    [轉帖]x.509证书在WCF中的应用(CS篇)
    [原創]關於VS“無法辨認的逸出序列”的錯誤分析和解決方法
    【原創】文件系統目錄文件快速複製轉移工具
    SQL2000/SQL2005導入導出存儲過程圖解
  • 原文地址:https://www.cnblogs.com/ddddfpxx/p/6329407.html
Copyright © 2011-2022 走看看