(模拟post请求)如何访问外部接口
2015-09-23 15:36
417 查看
方法一:
package com.colasoft.wcs.common;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
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.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import com.alibaba.fastjson.JSONObject;
/**
*
*
*/
@SuppressWarnings("deprecation")
public class WebInterface {
private static HttpClient httpClient = new DefaultHttpClient();
private static HttpResponse response = null;
public synchronized static String useWebInterface(String url,Map<String,Object> params) {
HttpPost Httppost = new HttpPost(url);
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
String getContent = "";
for (Entry<String,Object> each : params.entrySet()) {
formparams.add(new BasicNameValuePair(each.getKey(), (String) each.getValue()));
}
try {
Httppost.setEntity(new UrlEncodedFormEntity(formparams, "utf-8"));
response = httpClient.execute(Httppost);
HttpEntity entity = response.getEntity();
getContent = EntityUtils.toString(entity);
EntityUtils.consume(entity);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return getContent;
}
/**
*
* @Title: getMsgforWeb
* @Description: 获取返回code的值,判断是否成功
* @param @param jsonContent
* @param @return 设定文件
* @return String 返回类型
* @throws
*/
public static String getMsgforWeb(String jsonContent) {
JSONObject obj = JSONObject.parseObject(jsonContent);
if (WebInterfaceParams.codeError.equals(obj.getString("code"))) {
return obj.getString("msg");
} else {
return "success";
}
}
}
方法二:
package com.eduask.luck.validate;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
public class Test {
public static String sendPost(String url, String param) {
PrintWriter out = null;
BufferedReader in = null;
String result = "";
try {
URL realUrl = new URL(url);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
// 获取URLConnection对象对应的输出流
out = new PrintWriter(conn.getOutputStream());
// 发送请求参数
out.print(param);
// flush输出流的缓冲
out.flush();
// 定义BufferedReader输入流来读取URL的响应
in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送 POST 请求出现异常!" + e);
e.printStackTrace();
}
// 使用finally块来关闭输出流、输入流
finally {
try {
if (out != null) {
out.close();
}
if (in != null) {
in.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return result;
}
}
package com.colasoft.wcs.common;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
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.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import com.alibaba.fastjson.JSONObject;
/**
*
*
*/
@SuppressWarnings("deprecation")
public class WebInterface {
private static HttpClient httpClient = new DefaultHttpClient();
private static HttpResponse response = null;
public synchronized static String useWebInterface(String url,Map<String,Object> params) {
HttpPost Httppost = new HttpPost(url);
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
String getContent = "";
for (Entry<String,Object> each : params.entrySet()) {
formparams.add(new BasicNameValuePair(each.getKey(), (String) each.getValue()));
}
try {
Httppost.setEntity(new UrlEncodedFormEntity(formparams, "utf-8"));
response = httpClient.execute(Httppost);
HttpEntity entity = response.getEntity();
getContent = EntityUtils.toString(entity);
EntityUtils.consume(entity);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return getContent;
}
/**
*
* @Title: getMsgforWeb
* @Description: 获取返回code的值,判断是否成功
* @param @param jsonContent
* @param @return 设定文件
* @return String 返回类型
* @throws
*/
public static String getMsgforWeb(String jsonContent) {
JSONObject obj = JSONObject.parseObject(jsonContent);
if (WebInterfaceParams.codeError.equals(obj.getString("code"))) {
return obj.getString("msg");
} else {
return "success";
}
}
}
方法二:
package com.eduask.luck.validate;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
public class Test {
public static String sendPost(String url, String param) {
PrintWriter out = null;
BufferedReader in = null;
String result = "";
try {
URL realUrl = new URL(url);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
// 获取URLConnection对象对应的输出流
out = new PrintWriter(conn.getOutputStream());
// 发送请求参数
out.print(param);
// flush输出流的缓冲
out.flush();
// 定义BufferedReader输入流来读取URL的响应
in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送 POST 请求出现异常!" + e);
e.printStackTrace();
}
// 使用finally块来关闭输出流、输入流
finally {
try {
if (out != null) {
out.close();
}
if (in != null) {
in.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return result;
}
}
相关文章推荐
- 内核配置make menuconfig 找不到arm选项
- USART、SPI、IIC的区别
- 3D扫描齿科应用 为病患再造完美牙齿
- Smart Client Software Factory 中的 MVP 模式概述
- spring(3) mvc 注解验证springmodules common validator (注解验证)
- ios 开发日记 9 - 一些 UIView 中管理 Subview 常用的方法
- 大型网站系统架构的演化
- android学习笔记10 - Animation-list帧动画实现
- luence入门实战第一步
- 对终端输入的行内容进行字典排序并把结果输出出来
- 面试题28:字符串的排列
- Java 内存区域和GC机制
- test5.20
- CISCO_CVoice – 002 : 模拟与数字中继
- 本人开通博客的目的
- SpringMVC进阶(三)——控制器
- 50 Must-have plugins for extending Twitter Bootstrap
- Objective-C入门20:Block
- Linux中U盘的挂载、卸载、格式化
- github page + jekyllrb 搭建新博客