哇,我只是找不到任何可以工作的httpclient 4.1的例子,發送post請求但不是默認端口 但是可配置的端口,我有這個代碼但是它的dosn't工作Java httpclient 4.1如何發送具有可配置端口的發佈請求
// lHashMapParams is with params getting form function ..
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
for (String key : lHashMapParams.keySet()) {
String val = lHashMapParams.get(key);
params.add(new BasicNameValuePair(key,val));
}
String url = "https://foo.com";
int port = 8883;
String = "https";
UrlEncodedFormEntity query = new UrlEncodedFormEntity(params);
HttpHost httpHost = new HttpHost(url,port,httpType);
HttpPost post = new HttpPost("/");
post.setEntity(query);
HttpResponse response_ = httpclient.execute(httpHost,post);
得到這個異常:
log4j:WARN Please initialize the log4j system properly.
java.net.UnknownHostException: https://foo.com
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:849)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1183)
at java.net.InetAddress.getAllByName0(InetAddress.java:1136)
at java.net.InetAddress.getAllByName0(InetAddress.java:1109)
at java.net.InetAddress.getAllByName(InetAddress.java:1072)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:242)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:130)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:561)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:776)
at com.ut.HttpClientImpl.postHttpReqest(HttpClientImpl.java:75)
是簡單的詞如何定義端口?
該代碼表示「未知主機」,沒有關於端口。該端口是URL的一部分。 'http://foo.com:8888'將嘗試連接到'8888'端口的'foo.com'。 – khachik 2011-05-23 12:17:05
我知道它喜歡它不知道端口,所以我沒有把價值放在 新的HttpHost(url,port,httpType); – user63898 2011-05-23 12:21:55
但這不是重點 - 在DNS中找不到主機,端口不相關。 – skaffman 2011-05-23 12:34:51