android中利用HttpURLConnection进行Get、Post和Session读取页面。

时间:2023-03-09 07:22:34
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+"\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();
}
}
}