日期:2014-05-20  浏览次数:20734 次

求高手帮忙 Java Socket不能识别host
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地址栏是可以显示的,这是为什么呢?之前试过其他网址,多重路径都能识别,现在就猜想是识别不了? %等这样的特殊符号,请教高手,该如何解决呢?
socket java

------解决方案--------------------
你那个 Host 不是主机名,而是 URL!

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