我觉得问题有问题:)
如果你确定是要通过http协议来访问的话,可以通过socket轮循每一个端口,判断返回的信息是否是http的,我随便说说,不过可以测试一下,速度应很慢

解决方案 »

  1.   

    给你一个源代码:
    就可以用的
    import java.io.*;
    import java.net.*;
    import java.util.Date;class  test
    {
    public static void main(String[] args)throws Exception 
    {
    int c;
    URL url = new URL("http://www.csdn.net");
    URLConnection urlcon = url.openConnection();
    System.out.println("The port is: " + url.getPort());


    }
    }
      

  2.   

    楼上的代码肯定不能达到要求!URL连接不指定端口号的话,你返回的端口号是-1。
      

  3.   

    不好意思,我弄错了你的问题!
    我一为你是要得到它的port。
    你可以一个一个的测试,当然这办法很笨,也可以试一下吗!在main()中
    for(int port=0;port<=1024;port++)
    {
       try{
             DatagramSocket server=new DatagramSocket(port);
             server.close();
        }
        catch(Socket Exception e)
        {
             System.out.println("there is a server in port" + port );
        }
    }
    当然,这很笨,而且还要把其他端口的server给关掉!!
      

  4.   

    .....
    for(int i=1;i<65536;i++){
     try{ Socket s=new Socket("www.csdn.net",i);
                System.out.println(s.getPort());
    }catch(UnknownHostException e){}
    catch(IOException e){}
    }
    .......
    运行一个多小时,可以找出所有你连的上的服务器的端口号