HttpURLConnection

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;


import org.junit.Test;


public class CommonTest {
    
    @Test
    public void test() throws Exception {
        String url = "http://localhost:9006/packagetourorder/getorder";
//        String content = "?PackageTourOrderXml=" + URLEncoder.encode("aa", "UTF-8");
//        content +="&Sign="+URLEncoder.encode("bb", "UTF-8");
//        url+=content;
        HttpURLConnection conn = null;
//        OutputStream out = null;
        String outxml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
        try {
            conn = getConnection(url, "POST");
//            out = conn.getOutputStream();
            DataOutputStream out = new DataOutputStream(conn
                                                        .getOutputStream());
//            out.write(outxml.getBytes());
            String localSign = EncryptionUtils.MD5(outxml+Constant.AUTHKEY);
            String content = "PackageTourOrderXml=" + URLEncoder.encode(outxml, "UTF-8");
            content +="&Sign="+URLEncoder.encode(localSign, "UTF-8");
//            String content = "PackageTourOrderXml=" + URLEncoder.encode("AA", "UTF-8");
//          content +="&Sign="+URLEncoder.encode("BB", "UTF-8");
            out.writeBytes(content);
            
            
            System.out.println("print post request:" + new String(outxml.getBytes("UTF-8")));
            out.flush();
            System.out.print("print post add response:");
            
//            InputStream is;
//            if (conn.getResponseCode() >= 400) {
//                is = conn.getInputStream();
//            } else {
//                is = conn.getErrorStream();
//            }            
//            System.out.println(is);
            getResponseFromInputStream(conn.getInputStream());
            
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
    
    private HttpURLConnection getConnection(String urlString, String verb) {
        HttpURLConnection conn = null;
        try {
            URL url = new URL(urlString);
            conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod(verb);
            conn.setDoInput(true);
            conn.setDoOutput(true);
//            conn.setUseCaches(false);
//            conn.setInstanceFollowRedirects(true);
//            conn.addRequestProperty("Content-type", "text/xml; charset=UTF-8");
            conn.setRequestProperty ("Content-type", "application/x-www-form-urlencoded"); 
//            conn.addRequestProperty("Accept-Charset", "utf-8");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }
    
    private void getResponseFromInputStream(InputStream is) {
        String resp = "";
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"));
            String next = null;
            while ((next = reader.readLine()) != null) {
                resp += next;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("the response is:" + resp);
    }
    
    public static void main(String[] args) throws Exception {
        new CommonTest().test();
    }
}


client:
@Controller
@RequestMapping("/packagetourorder")
public class PackageTourOrderController extends APIController {
    
    @RequestMapping(value = "/getorder", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/xml")
    public @ResponseBody
    BaseReturn getOrder(@RequestParam("PackageTourOrderXml")
    String tourOrderXML, @RequestParam("Sign")
    String sign) throws Exception {
        tourOrderXML = URLDecoder.decode(tourOrderXML, "UTF-8");
        String remoteSign =  URLDecoder.decode(sign, "UTF-8");



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值