package bear.net.utils;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Map;
public class NetTool {
/**
* 发送Post请求
* @param urlpath 请求路径
* @param params 请求参数, key为请求参数名称,value为参数值
* @return
* @throws Exception
*/
public static InputStream sendXmlRequest(String urlpath, byte[] xmldata, String encoding) throws Exception{
URL url = new URL(urlpath);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setConnectTimeout(6*1000);
conn.setDoOutput(true);//发送POST请求必须设置允许输出
conn.setUseCaches(false);//不使用Cache
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");//维持长连接
conn.setRequestProperty("Charset", encoding);
conn.setRequestProperty("Content-Length", String.valueOf(xmldata.length));
conn.setRequestProperty("Content-Type","text/xml; charset="+ encoding);
DataOutputStream dataOutStream = new DataOutputStream(conn.getOutputStream());
dataOutStream.write(xmldata);
dataOutStream.flush();
dataOutStream.close();
if(conn.getResponseCode() == 200){
return conn.getInputStream();
}
return null;
}
/**
* 发送Post请求
* @param urlpath 请求路径
* @param params 请求参数, key为请求参数名称,value为参数值
* @return
* @throws Exception
*/
public static InputStream sendPostRequest(String urlpath, Map<String, String> params, String encoding) throws Exception{
StringBuilder sb = new StringBuilder();
for(Map.Entry<String, String> entry : params.entrySet()){
sb.append(entry.getKey()).append("=").append(URLEncoder.encode(entry.getValue(), encoding));
sb.append('&');
}
sb.deleteCharAt(sb.length() - 1);
byte[] data = sb.toString().getBytes();
URL url = new URL(urlpath);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setConnectTimeout(6*1000);
conn.setDoOutput(true);//发送POST请求必须设置允许输出
conn.setUseCaches(false);//不使用Cache
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");//维持长连接
conn.setRequestProperty("Charset", encoding);
conn.setRequestProperty("Content-Length", String.valueOf(data.length));
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
DataOutputStream dataOutStream = new DataOutputStream(conn.getOutputStream());
dataOutStream.write(data);
dataOutStream.flush();
dataOutStream.close();
if(conn.getResponseCode() == 200){
return conn.getInputStream();
}
return null;
}
/**
* 获取url路径指定的内容
* @param urlpath url路径
* @throws Exception
*/
public static InputStream getContent(String urlpath) throws Exception{
URL url = new URL(urlpath);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(6*1000);
if(conn.getResponseCode() == 200){
return conn.getInputStream();
}
return null;
}
/**
* 获取给定Url路径的文件数据
* @param urlpath Url路径
* @return
* @throws Exception
*/
public static byte[] getFile(String urlpath) throws Exception{
URL url = new URL(urlpath);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(6*1000);
if(conn.getResponseCode() == 200){
InputStream inStream = conn.getInputStream();
return readStream(inStream);
}
return null;
}
/**
* 读取数据
* @param inStream 输入流
* @return
* @throws Exception
*/
public static byte[] readStream(InputStream inStream) throws Exception{
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = -1;
while( (len = inStream.read(buffer)) != -1){
outStream.write(buffer, 0, len);
}
outStream.close();
inStream.close();
return outStream.toByteArray();
}
/**
* 获取文本内容
* @param inStream 输入流
* @param encoding 字符编码
* @return
* @throws Exception
*/
public static String getTextContent(InputStream inStream, String encoding) throws Exception{
byte[] data = readStream(inStream);
return new String(data, encoding);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
smsListener.rar (25个子文件)
smsListener
bin
classes.dex 8KB
bear
net
utils
NetTool.class 4KB
sms
SmsListener.class 2KB
SmsActivity.class 494B
SmsListener$1.class 2KB
R$layout.class 364B
R$drawable.class 370B
R$attr.class 310B
R.class 429B
R$string.class 397B
cn
itcast
sms
smsListener.apk 16KB
resources.ap_ 10KB
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
values
strings.xml 177B
drawable-mdpi
icon.png 3KB
layout
main.xml 382B
assets
default.properties 449B
gen
bear
sms
R.java 630B
cn
itcast
sms
src
bear
net
utils
NetTool.java 4KB
sms
SmsListener.java 2KB
SmsActivity.java 331B
.project 847B
.classpath 280B
AndroidManifest.xml 851B
共 25 条
- 1
我虽横行却不霸道
- 粉丝: 73
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0