String host="www.google.com.hk/search?q=test&btnG=%3CSPAN+class%3Dsbico+style%3D%22DISPLAY%3A+block%3B+BACKGROUND%3A+url%28%2Fimages%2Fnav_logo118.png%29+no-repeat+-20px+-111px%3B+WIDTH%3A+13px%3B+HEIGHT%3A+14px%22%3E%3C%2FSPAN%3E&hl=zh&gbv=2&gs_l=heirloom-serp.3...147414.147476.0.148038.2.2.0.0.0.0.266.266.2-1.1.0...0.0...1c.1.D4T7LjpJxXo";int port=80;Socket=new Socket(host,port);如上创建不了连接,抛出UnknownHostException错误,但直接将host串复制到IE地址栏是可以显示的,这是为什么呢?之前试过其他网址,多重路径都能识别,现在就猜想是识别不了? %等这样的特殊符号,请教高手,该如何解决呢?socketjava

解决方案 »

  1.   

    host 意思是主机名。你用 "www.google.com.hk"试试。
      

  2.   

    www.google.com可以,但是现在我想访问上述那串地址的网页,并提交数据,请问该如何操作?
      

  3.   

    你那个 Host 不是主机名,而是 URL!你可以使用 URLConnection,使用 POST 提交数据就可以了。如果你要用 Socket 写的话也可以,不过没有必要的,因为这样的话你还要按照 HTTP 协议的规范往输出流中写数据。