http post

xml格式:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;

/**
 * http 发送xml调用esb接口
 */
public class HttpPostXml {
	
	/**
	 * 发送xml报文,调用接口
	 * 
	 * @param url 接口服务地址
	 * @param reqXml 请求报文
	 * @return
	 */
	public static String postByXml(String url, String reqXml){
		System.out.println("reqXml==================\n" + reqXml);
		try {
			HttpURLConnection httpURLConnection = (HttpURLConnection) new URL(url).openConnection();              
			httpURLConnection.setRequestProperty("content-type", "text/html");
			httpURLConnection.setDoOutput(true);  
			httpURLConnection.setDoInput(true);  
			httpURLConnection.setRequestMethod("POST");   
			httpURLConnection.setConnectTimeout(5000);  
			httpURLConnection.setReadTimeout(5000);  
			httpURLConnection.connect();  
			BufferedWriter out = new BufferedWriter(new OutputStreamWriter(  
			httpURLConnection.getOutputStream(), "UTF-8"));  
			out.write(reqXml);  
			out.flush();
			
			int code = httpURLConnection.getResponseCode();   
			if (code != 200) {   
				System.out.println("ERROR===" + code);   
			}
			
			// 打印返回参数
			InputStream in = httpURLConnection.getInputStream();
			StringBuilder buffer = new StringBuilder();
			BufferedReader reader=null;
			try{
				reader = new BufferedReader(new InputStreamReader(in));
				String line=null;
				while((line = reader.readLine())!=null){
					buffer.append(line);
		        }
			}catch(Exception e){
				e.printStackTrace();
			}finally{
				if(null!=reader){
					try {
						reader.close();
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
			}
			System.out.println("resXml==================\n" + buffer.toString());
			
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (ProtocolException e) {
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}  
		
		return null;
	}
	
    public static void testRemoveBound(){
	    String custNo = "2216420645"; // 会员编码
        
        StringBuffer reqXml = new StringBuffer();
        reqXml.append("<?xml version='1.0' encoding='UTF-8'?>");
        reqXml.append("<MbfService>");
        reqXml.append("<input1>");
        reqXml.append("<MbfHeader>");
        reqXml.append("<ServiceCode>EPPBoundController</ServiceCode>");
        reqXml.append("<Operation>remBoundOfEPPAcc</Operation>");
        reqXml.append("<AppCode>SHP</AppCode>");
        reqXml.append("<UId></UId>");
        reqXml.append("<AuthId></AuthId>");
        reqXml.append("</MbfHeader>");
        reqXml.append("<MbfBody>");
        reqXml.append("<custNo>"+custNo+"</custNo>");
        reqXml.append("</MbfBody>");
        reqXml.append("</input1>");
        reqXml.append("</MbfService>");
        
        String url = "";
        url = "http://shppre.service.cnsuning.com:8080/shp-service-web/eppbound/removebound.do";
        HttpPostXml.postByXml(url, reqXml.toString());
	}
    
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		testRemoveBound();
	}

}

json格式:

import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
import org.json.JSONTokener;
import org.springframework.http.HttpStatus;

import com.suning.rm.util.date.DateUtil;

/**
 * 接口测试类
 * (部分接口测试之前,需要将spring-servlet.xml里的权限拦截器配置注释掉)
 * 
 * @author 14073034
 */
public class TestPostJson {
	
	@SuppressWarnings("deprecation")
	public static String post(String url, String json) {
		HttpClient client = new DefaultHttpClient();
		HttpPost post = new HttpPost(url);
		JSONObject response = null;

		try {
			StringEntity s = new StringEntity(json);
			s.setContentEncoding("UTF-8");
			s.setContentType("application/json");
			post.setEntity(s);
			HttpResponse res = client.execute(post);
			if (res.getStatusLine().getStatusCode() == HttpStatus.OK.value()) {
				HttpEntity entity = res.getEntity();
				String charset = EntityUtils.getContentCharSet(entity);
				response = new JSONObject(new JSONTokener(
						new InputStreamReader(entity.getContent(), charset)));
			}

		} catch (Exception e) {
			throw new RuntimeException(e);
		}

		return response.toString();
	}
	
	public static void getToken() throws UnsupportedEncodingException{
		String employeeId = "14073034";
		String pwd = "wTPfP+YFq4uag9AdC31gmi/zhjP4UZl8zZle24vcAAU6L/8BZGyehv2p0sAwWLHnETEd+q7MALkm0dgPCzQd86x45bNtmL2rg1se5v/doBfuGxkApE443MwCkzelX8iSMc/uzk2HIRb1Z65NUiWbobBwU0jQPTpDVcdFBK63270=";
		String imei = "1234567890";
		String serialNo = employeeId + DateUtil.getCurrentDateString(DateUtil.YYYYMMDDHHMMSSSSS);
		JSONObject reqJsonObject = new JSONObject();
		reqJsonObject.put("employeeId", employeeId);
		reqJsonObject.put("imei", imei);
		reqJsonObject.put("pwd", pwd);
		reqJsonObject.put("serialNo", serialNo);
		System.out.println("reqJson=" + reqJsonObject.toString());
		
		String url = "";
        url = "http://rmdev.cnsuning.com:8080/rm-web/service/getToken.htm";
        String resJson = TestPostJson.post(url, URLEncoder.encode(reqJsonObject.toString(), "UTF-8"));
        System.out.println("resJson=" + resJson);
	}

	public static void main(String[] args) throws UnsupportedEncodingException {
		getToken();
	}
}

GET方式:

public static void sendPost() {
		String url = "http://yufulong.ittun.com/api.php";
		String param = "src=SUNINGYOUPIN&method=Liangpin.productStatusNotify&timestamp=1478501229&product_id=147848895336572642&sign=34216627b28afec2d23f3c0092d1ed26&pay_method=1&product_status=1";
		
		PrintWriter out = null;
		BufferedReader in = null;
		String result = "";
		
		try {
			URL realUrl = new 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);
			out = new PrintWriter(conn.getOutputStream());
			out.print(param);
			out.flush();
			in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
			String line;
			while ((line = in.readLine()) != null) {
				result += line;
			}
			System.out.println(result);
		} catch (Exception e) {
			System.out.println("发送 POST 请求出现异常!" + e);
			e.printStackTrace();
		} finally {
			try {
				if (out != null) {
					out.close();
				}
				if (in != null) {
					in.close();
				}
			} catch (IOException ex) {
				ex.printStackTrace();
			}
		}
	}

猜你喜欢

转载自guwq2014.iteye.com/blog/2290222