java.net.HttpURLConnection 实例
来源:互联网 发布:淘宝老店新开有扶持吗 编辑:程序博客网 时间:2024/06/04 18:22
这段时间接触了java.net ,在此记录下HttpURLConnection 的基本用法
import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class HttpPostUtil {private static final Integer readTimeout = 30000; //30秒private static final Integer connectTimeout = 30000; //30秒private static final String sendEncoding = "UTF-8"; //发送时编码private static final String receiveEncoding = "UTF-8"; //接受时编码/** * post提交 * @param url * @param params * @return */public static String doPost(String url, Map<String, String> params){DataOutputStream ds = null;InputStreamReader isr = null;BufferedReader br = null;try{URL url_ = new URL(url);HttpURLConnection conn = (HttpURLConnection)url_.openConnection();/** 基本参数设置 **/conn.setConnectTimeout(connectTimeout);conn.setReadTimeout(readTimeout);conn.setRequestMethod("POST");conn.setDoInput(true);conn.setDoOutput(true);conn.setUseCaches(false);/** 设置报头信息,根据具体需求具体设置 **/conn.setRequestProperty("encoding", sendEncoding);/** 获取http输出流 **/ds = new DataOutputStream(conn.getOutputStream());ds.write(getParams(params).getBytes(sendEncoding));ds.flush();int code = conn.getResponseCode();if(code == 200){isr = new InputStreamReader(conn.getInputStream(), receiveEncoding);br = new BufferedReader(isr);String line = null;StringBuffer sb = new StringBuffer();while((line = br.readLine()) != null){sb.append(line);}return sb.toString();}else{return "【服务器错误,code="+code+"】";}}catch(Exception e){e.printStackTrace();return e.getMessage();}finally{if(br != null){try {br.close();} catch (IOException e) {e.printStackTrace();}}if(isr != null){try {isr.close();} catch (IOException e) {e.printStackTrace();}}if(ds != null){try {ds.close();} catch (IOException e) {e.printStackTrace();}}}}/** * 拼接参数 * eg : params1=value1¶ms2=value2 * @param params * @return */public static String getParams(Map<String, String> params){if(params == null || params.isEmpty()){return "";}StringBuffer sb = new StringBuffer();Set<String> keys = params.keySet();Iterator<String> it = keys.iterator();while(it.hasNext()){String key = it.next();sb.append(key).append("=").append(params.get(key)).append("&");}return sb.substring(0, sb.length() - 1).toString();}public static void main(String[] args) {Map<String, String> params = new HashMap<String, String>();params.put("p1", "test");params.put("p2", "中文");System.out.println(HttpPostUtil.doPost("url", params));}}
0 0
- java.net.HttpURLConnection 实例
- java.net.HttpURLConnection的使用
- java.net.HttpURLConnection的使用
- java.net.HttpURLConnection的使用
- java.net.HttpURLConnection的使用
- Java实例(二) - HttpURLConnection 报403错误
- 【Java】java.net.HttpURLConnection的使用
- Http请求:java.net.URLConnection java.net.HttpURLConnection
- java后台调用HttpURLConnection类模拟浏览器请求实例
- 『转』【Java】java.net.HttpURLConnection的使用
- 运用java.net.HttpURLConnection实现java多线程下载文件
- Android apache DefaultHttpClient 和 java net HttpURLConnection 简单分析
- java.net.HttpURLConnection 的设计引起的事件
- Use java.net.HttpURLConnection/HttpClient 访问web service ( HTTP/HTTPS)
- android开发使用httpurlconnection异常java.net.UnknownHostException:xxxxxxx.com
- HttpURLConnection post提交实例
- HttpURLConnection请求响应实例
- HTTPClient和HttpURLConnection实例对比
- Android应用开发-学生信息管理系统
- JNI中map转HashMap
- 关于inline-block,间隙距离去除,以及div自动换行,高度等问题的一个demo
- listview,gridview等可通用的万能适配器,继承此类即可
- 6.3.3 异步定时方式
- java.net.HttpURLConnection 实例
- 最新Google Analytics在Android Studio工具中的集成使用
- docker基础知识之挂载本地目录
- 在C#中使用SerialPort类实现串口通信 遇到多线程问题
- poj2018(斜率数形结合)
- 将视频 YUV 格式编码成 H264
- android studio下百度地图的搭建
- java多线程关于线程互斥实现实例
- Android 软键盘弹出/收起监听