java报505_解决java代码测试http协议505错误

代码功能:通过java代码获取网页源代码:

所用工具:Myclipse8.5+tomcat6.0+浏览器

系统环境:windows xp旗舰版

火狐浏览器版本:

80091cee493c39947544518497b818c8.png

IE浏览器版本:

d51e8a3addd9ea26884e0c3890618f87.png

测试http协议有错误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 / HTTP/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();

}

}

控制台错误信息:

7f689e24371be5eda621a2b0ff33efad.png

状态:

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

68401690081c85b27e981e334321a079.png

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

c2f24f61a5ff8b16dc5e57723f4bc337.png

已经尝试过的:

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 协议版本, 而不是根本不支持。

.经过尝试无效。

4fff2de2683e3a87795b134720115106.png

568f511cb7c093b62800783bebd9f6f0.png

2.谷歌牛人博客

上面方法经尝试,未果。

所以在csdn发帖求助。

结果还是没有找到方法。

后来又自己读了百度百科里面这句话:

505错误的最专业描述

505 (HTTP Version Not Supported/不支持的 HTTP 版本)

505 (SC_HTTP_VERSION_NOT_SUPPORTED)状态码是说服务器并不支持在请求中所标明 HTTP 版本。

该状态是新加入 HTTP 1.1的。

于是试着把http1.1版本号删掉。哈哈,终于成功啦。

正确运行代码:

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",8080);

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();

}

}

效果如下:

60e53dd7f5d5b366245b394d48c9b3b0.png

a41f49cded22f31329c79baaefde274a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值