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(); } }