求助解决myclipse中测试http协议505错误

极客星云
博客专家认证
2014-05-15 08:58:24
系统环境:windows xp旗舰版
火狐浏览器版本:

IE浏览器版本:

testhttp.java代码如下:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class testhttp {
public static void main(String[] args) throws Exception {
Socket s=new Socket("127.0.0.1",8084);
PrintWriter pw =new PrintWriter(new OutputStreamWriter(s.getOutputStream()));
pw.println("GET 127.0.0.1:8084 HTTTP/1.1");
pw.println("Host:PC2014040911DWA");
pw.println("Content-Type:text/html");
pw.println();
pw.flush();
BufferedReader br =new BufferedReader(new InputStreamReader(s.getInputStream()));
String str ="";
while((str =br.readLine())!=null){
System.out.println(str);
}
br.close();
pw.close();
s.close();


}
}

控制台错误信息:


状态:
tomcat已经正常打开,我的 tomcat端口8084:

浏览器输入地址可以打开:

已经尝试过的:

1.自己百度查询505错误信息:
引用
HTTP 505错误是HTTP状态码的一种,表示“HTTP版本不受支持”,当服务器不支持请求中所使用的HTTP协议版本时就回返回此错误,最为常见的是 HTTP/1.1。

解决505错误办法:
如果启用了 HTTP 1.1,则可能出现此类错误。要禁用 HTTP 1.1,请单击“工具”按钮,单击“Internet 选项”,然后单击“高级”选项卡。在“设置”下,滚动到“HTTP 1.1 设置”部分,清除“使用 HTTP 1.1”复选框。如果第三方产品干扰 Internet Explorer,则可能出现此类错误。请尝试关闭所有程序,然后重新尝试访问该网页。
大多数浏览器都默认Web服务器支持 1.x 的版本的 HTTP 协议。但实际上如 0.9 版今天已很少使用,关键是因为和新版本的协议比起来它们的安全性和性能都差得多。 所以,如果您在浏览器中看到这个错误,可以升级您的Web服务器软件。如果版本 1.x 的请求失败,很可能是因为您的 Web 服务器不是很好地支持 1.x 协议版本, 而不是根本不支持。

经过尝试无效,


2.谷歌牛人博客:
经验总结:HTTP返回505错误小记
上面方法经尝试,未果。
经过多方尝试始终无法解决,特此求助!

...全文
863 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
极客星云 2014-05-18
  • 打赏
  • 举报
回复
哈哈,终于搞定了!代码这样搞定就好了。
testhttp.java代码这样改写:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;

public class testhttp {
public static void main(String[] args) throws Exception {
Socket s=new Socket("127.0.0.1",8084);
PrintWriter pw =new PrintWriter(new OutputStreamWriter(s.getOutputStream()));
pw.println("GET /");
pw.println("Host:PC2014040911DWA");
pw.println("Content-Type:text/html");
pw.println();
pw.flush();
BufferedReader br =new BufferedReader(new InputStreamReader(s.getInputStream()));
String str ="";
while((str =br.readLine())!=null){
System.out.println(str);
}
br.close();
pw.close();
s.close();


}
}

总结:
看来是目前我们现在用的版本和以前的版本有了区别。
以前版本需要添加上版本好http/1.1但是现在的版本不再需要了。

引用
505错误的最专业描述
505 (HTTP Version Not Supported/不支持的 HTTP 版本)
505 (SC_HTTP_VERSION_NOT_SUPPORTED)状态码是说服务器并不支持在请求中所标明 HTTP 版本。
该状态是新加入 HTTP 1.1的。

又仔细阅读了这个,于是试着把http1.1版本号删掉。哈哈,终于成功啦。

哈哈没想到最后是自己搞定啦。呵呵。
Lahne 2014-05-15
  • 打赏
  • 举报
回复
pw.println("GET 127.0.0.1:8084 HTTTP/1.1"); 是HTTTP?
tony4geek 2014-05-15
  • 打赏
  • 举报
回复
没遇到过,,
点滴寸土 2014-05-15
  • 打赏
  • 举报
回复
我还真不知道这样能把tomcat和浏览器关联起来

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧