Android Http POST请求

本文介绍了一个基于Java的HTTP请求处理过程,包括初始化URL、设置请求属性、发送POST请求、读取响应并进行解码等步骤。同时实现了通过全局变量控制并发请求避免冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

private String strUrl = "http://baidu.con";

URL url= null;

public static String sCookie;

public static Boolean req = false;//作为全局变量 用来保证每次只能有一个进程在获取服务端请求,以免出现多个进程同时执行操作 导致冲突

public String getData(String para1,String para2){

String Res = "";

while(true){

if(req){

req = false;//一个进程进入时关闭系统开关禁止其他进程进入

try{

//基础配置

String strUrl1 = strUrl+para1;

url = new URL(strUrl1);

HttpURLConnection urlConn = (HttpURLConnection)url.openConnection();

urlConn.setDoInput(true);

urlConn.setDoOutput(true);

if(sCookie!=null&&sCookie.length()>0){

urlConn.setRequestProperty("Cookie",sCookie);

}

urlConn.setRequestMethod("POST");

urlConn.setUseCaches(false);

urlConn.setRequestProperty("Content-type","application/x-www-from-urlencoded");

urlConn.setRequestProperty("Charset","utf-8");

urlConn.connect();

DataOutputStream dop = new DataOutputStream(urlConn.getOutputStream());

//参数配置

dop.writeByte(para2);

dop.close();

//接收工作

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));

String result = "";

String readLine = null;

while((readLine = bufferedReader.readLine())! = null){

result +=readLine;

}

bufferedReader.close();

urlConn.disconnect();

Res = URLDecoder.decode(result,"UTF-8");

String cookie = urlConn.getHeaderField("set-cokkie");

if(cookie!= null&&cookie.length()>0){

sCookie = cookie;

}

}

catch(IOException e){

e.printStackTrace();

}

finally{

req = true;//释放服务,允许其他进程访问服务器

}

return Res;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咖飞_coffee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值