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

来源:2-2 Java 中的 URL 的应用

醉卧忆知己

2016-02-17 20:45

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

写回答 关注

2回答

  • LynnShaw
    2016-02-17 23:52:03
    已采纳

    未指定端口号时,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


    醉卧忆知己

    感谢大大已采纳~

    2016-02-18 18:43:27

    共 1 条回复 >

  • SoyaDokio
    2016-06-27 23:56:01

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

Java Socket应用---通信是这样练成的

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

125012 学习 · 590 问题

查看课程

相似问题