为了账号安全,请及时绑定邮箱和手机立即绑定

关于java中URL类返回端口号是-1的疑问

为什么端口号返回的是-1?没有指定端口使用默认端口默认端口应该是返回80啊?为什么返回-1呢?

正在回答

2 回答

未指定端口号时,getport()返回-1

如果要返回默认端口号,使用public int getDefaultPort()

Gets the default port number of the protocol associated with this URL. If the URL scheme or the URLStreamHandler for the URL do not define a default port number, then -1 is returned


0 回复 有任何疑惑可以回复我~
#1

醉卧忆知己 提问者

感谢大大已采纳~
2016-02-18 回复 有任何疑惑可以回复我~

对于还在纠结端口号为-1的朋友,我说两点:
1、HTTP协议在当初制定时规定,其默认端口号为80,即未申明(省略)端口号的情况下,浏览器自动为其补充上URL中缺失的“:80”部分。关于HTTP协议的其它详情,可查阅RFC 2616。
2、java.net.URL.getPort()规定,若URL的实例未申明(省略)端口号,则返回值为-1。
两件事情请区分开来。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java Socket应用---通信是这样练成的
  • 参与学习       125013    人
  • 解答问题       590    个

分享的是 Java 中的网络编程,使用Socket实现网络聊天通信

进入课程

关于java中URL类返回端口号是-1的疑问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信