关于java 调用web api 的一个问题,别吞了,我真的是来问问题的 10C

是这样,现在我遇到一个问题,我用java 调用web api,然后在写了一个测试方法,一切通过OK
url 是http://192.168.1.1/test
然后我换到java web程序里面就出问题了,同样的路径,同样的代码,
报的错是 java.net.socketException : sockets error 0 :connect ,请教一下各位大神,有谁遇到过这种问题吗?
难道是端口问题,还是别的什么问题

9个回答

备注一下,不是 ** jvm_bind ** 错误

1.网络问题
2.权限问题

sj13751134493
杨超大帝 @100j00q00 网络问题应该不存在,毕竟测试几天了,一直都是这个错, 权限问题是什么问题啊?那为什么main方法可以通过呢?
接近 4 年之前 回复

@100j00q00 网络问题应该不存在,毕竟测试几天了,一直都是这个错, 权限问题是什么问题啊?那为什么main方法可以通过呢?

是不是端口被占用了,connect 不就是已连接的意思吗?你用netstat –an命令看看是否被占用了。

sj13751134493
杨超大帝 而且还有个问题,就算被占用了,,那MAIN方法应该也连接不了才对啊,难道main方法连接不需要端口了?
接近 4 年之前 回复
sj13751134493
杨超大帝 应该不是端口被占用了,netstat -an ,没有发现哪个程序占用80端口啊
接近 4 年之前 回复

你有没有在你的java web里面下个main方法试试呢

sj13751134493
杨超大帝 但是我比较纠结的是,不知道这个错是端口的问题,还是连接不上的问题,看上去又像端口的问题
接近 4 年之前 回复
sj13751134493
杨超大帝 有的
接近 4 年之前 回复

你连接socket的代码贴部分看看

sj13751134493
杨超大帝 而且就服务器提供出来的哪个ip地址。比如192.168.1.1/test ,这个url 在浏览器可以正常访问,在eclipse 中就会报 超时,网络错误
接近 4 年之前 回复
sj13751134493
杨超大帝 机器是本地的,但是要连的服务器不是本地的
接近 4 年之前 回复
lishihong108
lishihong108 这么奇怪,那就不知道了啊,如果是你自己的电脑,你试试用localhost或者127.0.0.1
接近 4 年之前 回复
sj13751134493
杨超大帝 都是本地的,然后服务器也是内网的。
接近 4 年之前 回复
sj13751134493
杨超大帝 没有
接近 4 年之前 回复
lishihong108
lishihong108 eclipse 设置了代理?
接近 4 年之前 回复
sj13751134493
杨超大帝 我才发现一个问题,同样的url 。浏览器中可以打开,eclipse中不可以,会不会是这个的问题
接近 4 年之前 回复
sj13751134493
杨超大帝 超时设置过了,没什么用
接近 4 年之前 回复
sj13751134493
杨超大帝 一个不会包不同吧,毕竟相同的代码,就自己在写个main方法都可以运行
接近 4 年之前 回复
lishihong108
lishihong108 回复杨超大帝: 设置readTimeOut(5000)看下是不是读取数据超时了,被拒绝了或者其他的
接近 4 年之前 回复
lishihong108
lishihong108 回复杨超大帝: 你可以装个反编译工具,eclipse有插件,点进去conn.getOutputStream()这个方法,看你的那个错误时在哪里被抛出来的
接近 4 年之前 回复
lishihong108
lishihong108 是不是引人的包不同,有没有仔细对比下
接近 4 年之前 回复
sj13751134493
杨超大帝 如果说端口问题,那么应该都会运行不了啊,而且tomcat 也不是安装版的,再说就算tomcat开着也一样可以运行的
接近 4 年之前 回复
sj13751134493
杨超大帝 还有最奇怪的就是main 方法都可以运行,难道main方法和tomcat ,有哪里不一样吗?main方法不需要端口?
接近 4 年之前 回复
sj13751134493
杨超大帝 不会是null 。根据你的经验,你觉得会是什么错?大神
接近 4 年之前 回复
sj13751134493
杨超大帝 因为用的也是内网,所以百度的肯定会报超时,他就是报的错也不具体,所以很头疼
接近 4 年之前 回复
lishihong108
lishihong108 报什么错误,比如path="www.baidu.com"
接近 4 年之前 回复
lishihong108
lishihong108 回复杨超大帝: 不好意思,这个就不清楚了,conn应该不会是null吧,或者你在java web里面运行的时候,换个地址,看
接近 4 年之前 回复
sj13751134493
杨超大帝 就这个同样的代码,我写个main方法,new一下就可以运行,但是放tomcat 还是不可以
接近 4 年之前 回复
sj13751134493
杨超大帝 HttpURLConnection 里面可能封装的吧 conn.getOutputStream(); 这一步就报错了
接近 4 年之前 回复
lishihong108
lishihong108 回复杨超大帝: 具体错误在是在哪个类,哪行代码里面
接近 4 年之前 回复
lishihong108
lishihong108 回复杨超大帝: 你这个不是post请求吗,没有用用到socket连接啊,咋会报socket的错误
接近 4 年之前 回复
lishihong108
lishihong108 回复杨超大帝: 抱歉。。我们公司内部有交流工具,用不了qq
接近 4 年之前 回复
sj13751134493
杨超大帝 要不要加下Q? 这样聊好慢
接近 4 年之前 回复

```URL url =new URL(path);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/json");
conn.setConnectTimeout(5*1000);
OutputStream outStream = conn.getOutputStream();
outStream.write(data);
outStream.flush();
outStream.close();


北上广深程序猿交流群端口错误啊

我输入网址的网址是 http://10.11.12.153:80/test 没看到你输入端口号啊

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问