java调用url请求,并接收返回数据

public static String sendPost(String url, String param)  throws Exception{
	    PrintWriter out = null;
	    BufferedReader in = null;
	    String result = "";
	    try {
	        URL realUrl = new URL(url);
	        URLConnection conn = realUrl.openConnection();
	        conn.setConnectTimeout(5000);
	        conn.setReadTimeout(10*1000);
	        conn.setDoOutput(true); // 发送POST请求必须设置如下两行
	        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;
	        }
	    } catch (Exception e) {
	        throw e; // 异常外抛
	    } finally{
	        try{
	            if(out!=null)out.close();
	            if(in!=null) in.close();
	        }
	        catch(Exception ex){
	        }
	    }
	    return result;
	}

 main方法测试:

	public static void main(String[] args) {
	    try {
	        System.out.println(sendPost("http://192.168.111.47:8888/serviceOpen.action",
	                "xmlStrHead=<?xml version='1.0' encoding='UTF-8'?><InterBOSS><Version>0100</Version><TestFlag>0</TestFlag><BIPType><BIPCode>BIP2C092</BIPCode><ActivityCode>T2002055</ActivityCode><ActionCode>0</ActionCode></BIPType><RoutingInfo><OrigDomain>CSVC</OrigDomain><RouteType>00</RouteType><Routing><HomeDomain>1259</HomeDomain><RouteValue>998</RouteValue></Routing></RoutingInfo><TransInfo><SessionID>2015030608193487</SessionID><TransIDO>2015030608193494</TransIDO><TransIDOTime>20150306081934</TransIDOTime></TransInfo><SNReserve><TransIDC>9980111120150306082232225623351</TransIDC><ConvID>09d13bbb-b3e0-47ad-b7c9-465270e7edea</ConvID><CutOffDay>20150306</CutOffDay><OSNTime>20150306082232</OSNTime><OSNDUNS>9980</OSNDUNS><HSNDUNS>9980</HSNDUNS><MsgSender>2002</MsgSender><MsgReceiver>0174</MsgReceiver><Priority>7</Priority><ServiceLevel>0</ServiceLevel></SNReserve></InterBOSS>" +
	                "&xmlStrBody=<?xml version='1.0' encoding='UTF-8'?><InterBOSS><SvcCont><![CDATA[<?xml version='1.0' encoding='UTF-8'?><SvcRoot>  <Item>    <Name>IndictSeq</Name>    <Value>20150306CSVC2500000506</Value>  </Item>   <Item>    <Name>ContactChannel</Name>    <Value>01</Value>  </Item> <Item>    <Name>OriginTime</Name>    <Value>2015-03-05 22:31:45</Value>  </Item>  <Item>    <Name>SubsName</Name>    <Value>孙</Value>  </Item>   <Item>    <Name>SvcCity</Name>    <Value>18100000-镇江</Value>  </Item>  <Item>    <Name>SubsLevel</Name>    <Value>04</Value>  </Item>   <Item>    <Name>SubsBrand</Name>    <Value>03</Value>  </Item><Item>    <Name>CallerNo</Name>    <Value>13511697948</Value>  </Item>  <Item>    <Name>CalledNo</Name>    <Value>10086511</Value>  </Item> <Item>    <Name>SvcTypeId</Name>    <Value>10010105560104</Value>  </Item>  <Item>    <Name>ServiceTypeId</Name>    <Value>手机游戏</Value>  </Item>  <Item>    <Name>HomeProv</Name>    <Value>250</Value>  </Item>  <Item>    <Name>OperateTypeId</Name>    <Value>004</Value>  </Item> <Item>    <Name>AcceptTime</Name>    <Value>2015-03-06 08:19:03</Value>  </Item><Item>    <Name>OperateConditions</Name>    <Value>12345678901|1</Value>  </Item> <Item>    <Name>AcceptStaff</Name>    <Value>137-江苏</Value>  </Item>  <RecordList>    <RecordFile>WFGET_0017_0174_20150306_000412.V3</RecordFile>  </RecordList></SvcRoot>]]></SvcCont></InterBOSS>"));
	    } catch (Exception e) {
	        e.printStackTrace();
	    }
	}

猜你喜欢

转载自songywlanna.iteye.com/blog/2227958