在老项目strust1 jdk 1.4的项目中
使用
HttpClient client = new HttpClient();
GetMethod getMethod = new GetMethod("http://twechat.sclzsi.cn/apis/v1/extra/boc/payment/result?bankCode=04&orderId=ESB1202008240881");
int code = 0;
try {
code = client.executeMethod(getMethod);
if (code == 200) {
String res = getMethod.getResponseBodyAsString();
System.out.println(res);
}
} catch (IOException e) {
e.printStackTrace();
}
出现错误
java.net.UnknownHostException: twechat.sclzsi.cn
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:153)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.<init>(Socket.java:309)
at java.net.Socket.<init>(Socket.java:184)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at com.sped.app.pubbusiness.bank.ccb.struts.Ccb_B2c_Action.smjf_account_02(Ccb_B2c_Action.java:258)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
修改为ip后
http://10.162.565.41/apis/v1/extra/boc/payment/result?bankCode=04&orderId=ESB1202008240881
错误如下:
java.net.NoRouteToHostException: No route to host: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.<init>(Socket.java:309)
at java.net.Socket.<init>(Socket.java:184)
但是令人奇怪的是在自己写的springboot中使用以上的格式httpclient都不会报错,有返回值。
最后这个错如何解决的:直接加端口号
这个错误的原因是:端口号未知,这个还有可能是要设置一个路由把。占时其他解决方式我不太清楚。