Java实现get或post请求
来源:互联网 发布:淘宝网大毛衣外套 编辑:程序博客网 时间:2024/06/06 08:34
添加 jar 包支持
httpclient-4.3.1.jarhttpcore-4.3.jarcommons-logging-1.0.4.jar
编写工具类
import java.io.IOException;import java.net.URLEncoder;import java.util.ArrayList;import java.util.List;import java.util.Map;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.HttpClients;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;public class HttpUtils { private static final String UTF_8 = "UTF-8"; public static String post(String url, Map<String, Object> params) throws Exception { String result = ""; HttpClient client = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(url); if (params != null && !params.isEmpty()) { List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>(); for (Map.Entry<String, Object> entry : params.entrySet()) { String name = entry.getKey(); String value = entry.getValue().toString(); BasicNameValuePair pair = new BasicNameValuePair(name, value); parameters.add(pair); } httpPost.setEntity(new UrlEncodedFormEntity(parameters, UTF_8)); } try { HttpResponse response = client.execute(httpPost); if (response.getStatusLine().getStatusCode() == 200) { result = EntityUtils.toString(response.getEntity(), UTF_8); } else { throw new Exception(response.toString()); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return result; } public static String get(String url, Map<String, Object> params) throws Exception { String result = ""; HttpClient client = HttpClients.createDefault(); if (params != null && !params.isEmpty()) { StringBuffer buffer = new StringBuffer(); buffer.append("?"); for (Map.Entry<String, Object> entry : params.entrySet()) { String name = entry.getKey(); String value = URLEncoder.encode(entry.getValue().toString(), UTF_8); buffer.append(name).append("=").append(value).append("&"); } url += buffer.substring(0, buffer.length()-1).toString(); } HttpGet get = new HttpGet(url); get.setHeader("charset", UTF_8); try { HttpResponse response = client.execute(get); if (response.getStatusLine().getStatusCode() == 200) { result = EntityUtils.toString(response.getEntity(), UTF_8); } else { throw new Exception(response.toString()); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return result; }}
编写测试代码
import java.util.HashMap;import java.util.Map;public class HttpTest { public static void main(String[] args) { String url = "http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo"; try { Map<String, Object> params = new HashMap<String, Object>(); params.put("mobileCode", "1888888"); params.put("userID", ""); String result = HttpUtils.get(url, params); System.out.println("GET请求:\n" + result); result = HttpUtils.post(url, params); System.out.println("POST请求:\n" + result); } catch (Exception e) { e.printStackTrace(); } }}
测试结果
GET请求:<?xml version="1.0" encoding="utf-8"?><string xmlns="http://WebXml.com.cn/">1888888:北京 北京 北京移动全球通卡</string>POST请求:<?xml version="1.0" encoding="utf-8"?><string xmlns="http://WebXml.com.cn/">1888888:北京 北京 北京移动全球通卡</string>
阅读全文
0 0
- Java实现get或post请求
- java实现post,get请求
- java实现GET/POST请求
- java socket 实现get post 请求
- Java实现http get post请求
- Http POST与GET请求JAVA实现
- java 实现post get 请求url
- Java实现模拟发送POST、GET请求
- Java实现http(post、get)请求
- Java实现发送Get和Post请求
- 发送post或get请求
- 发送GET或POST请求
- java get post 请求
- java get,post 请求
- java POST GET 请求
- java post get 请求
- JAVA使用http发送post或get请求实例
- java http get post请求 https请求实现
- ACM算法入门——二分查找
- C++小练习—找零钱问题
- 免内置mysql和客户端媒体的kbengine demo,kbengine通用版
- HDU-4614 Vases and Flowers (线段树+二分)
- Arrays.asList()是个坑
- Java实现get或post请求
- LeetCode 682. Baseball Game (Easy)
- C#WinForm二维码编码解码器
- 2-sum问题
- windows版gbc:基于enginx的组件服务器系统paas,可用于mixed web与websocket game
- Servlet 3.0新特性——文件上传接口
- vb.net 教程 8-3 数据库操作4
- Oracle session连接数和inactive的问题记录(清除方法)
- 面向组件编程之Unity 3.怎样获取脚本所在物体的各种组件 例如:GetComponentInChildren<T>()/GetComponentsInChildren<U>()