代碼功能:經過java代碼獲取網頁源代碼:html
所用工具:Myclipse8.5+tomcat6.0+瀏覽器java
系統環境:windows xp旗艦版
火狐瀏覽器版本:windows
IE瀏覽器版本:瀏覽器
測試http協議有錯誤java代碼以下。tomcat
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
控制檯錯誤信息:安全
狀態:
tomcat已經正常打開,個人 tomcat端口8084:服務器
瀏覽器輸入地址能夠打開:工具
已經嘗試過的:post
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.谷歌牛人博客
上面方法經嘗試,未果。
因此在csdn發帖求助。
http://bbs.csdn.net/topics/390788096
結果仍是沒有找到方法。
後來又本身讀了百度百科裏面這句話:
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();
}
}
效果以下: