tomcat配置后,可以通过浏览器访问,但是java得HttpURLConnection访问总是失败。

adfaksdf 2015-09-11 02:37:23
如题。

代码如下:

String path = "http://localhost:8080/aaa.xml";
// String path = "http://www.baidu.com";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setDoInput(true);
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
// InputStream in = conn.getInputStream(); // error

conn.getInputStream()就会出错。
出错信息如下:

java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 8080) after 5000ms: isConnected failed: ECONNREFUSED (Connection refused)
at libcore.io.IoBridge.isConnected(IoBridge.java:223)
at libcore.io.IoBridge.connectErrno(IoBridge.java:161)
at libcore.io.IoBridge.connect(IoBridge.java:112)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
at java.net.Socket.connect(Socket.java:843)
at com.android.okhttp.internal.Platform.connectSocket(Platform.java:152)
at com.android.okhttp.Connection.connect(Connection.java:101)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:179)
......


感到非常奇怪,请教各位。 非常感谢!!
...全文
1350 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2017-05-03
  • 打赏
  • 举报
回复
adfaksdf 2015-10-08
  • 打赏
  • 举报
回复
@chaoge1991 求进一步解释。
北海01 2015-09-28
  • 打赏
  • 举报
回复
我也觉得xml有问题,但是不是很清楚,麻烦@chaoge1991给解释一下
adfaksdf 2015-09-22
  • 打赏
  • 举报
回复
引用 2 楼 rui888 的回复:
防火墙关掉看看, 你是连接android 吗,如果是的话改这个。
是android。试过该方法,也不行的。
chaoge1991 2015-09-21
  • 打赏
  • 举报
回复
.xml文件 服务器一般都会选择拒绝访问
tony4geek 2015-09-11
  • 打赏
  • 举报
回复
防火墙关掉看看, 你是连接android 吗,如果是的话改这个。
wula0010 2015-09-11
  • 打赏
  • 举报
回复
httpClient:

String url = "http://" + ip + ":" + port + "/aaa.htm";
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpget = new HttpGet(url);

try {
    HttpResponse response = httpclient.execute(httpget, context);
    int httpCode = response.getStatusLine().getStatusCode();
    if (httpCode == HttpURLConnection.HTTP_OK && response != null) {
        CookieStore cookieStore = new BasicCookieStore();
        String setCookie = response.getFirstHeader("Set-Cookie").getValue();
        ... ...
        cookieStore.addCookie(cookie);
        context = HttpClientContext.create();
        context.setCookieStore(cookieStore);
        isSuccess = true;
    } else {
        logger.info("连接服务器失败!");
    }
} catch (Exception e) {
    logger.info("sangfor login失败:" + e.getMessage());
} finally {
    try {
        // 关闭流并释放资源
        httpget.abort();
    } catch (Exception e) {
    }
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧