http协议客户端向服务器端请求时一般需要发送的内容
生活随笔
收集整理的這篇文章主要介紹了
http协议客户端向服务器端请求时一般需要发送的内容
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
out.println("GET /shopping/index.html HTTP/1.1");//請求行 包括請求方式,文件路徑, http協議版本(必寫)
請求頭.... out.println("Aceept: */*");//客戶端能夠處理的文件類型(不是必須) out.println("Host: 192.168.1.111:8080");//客戶端要訪問的主機及服務器的端口(必寫),否則會出現400(請求錯誤) out.println("Connection: close");//傳輸完成后和服務器的鏈接狀態(不是必須) out.println();//空行用來區分請求頭和請求體(必寫)
請求體....
//URL這個類通過獲取URLConnection連接器的對象(也就是將連接封裝成了對象:java中內置的可以解析的具體協議的對象+socket)//另外,Socket 和 DatagramSocket 是負責傳輸層工作的,而URL或者URLConnection是負責應用層工作的//所以網絡編程用URL是比較好的(只保留服務器端的應答體,應答消息頭和應答消息行不會顯示)URL url = new URL("http://localhost:8080/shopping/login.html?name=HAHA");URLConnection con = url.openConnection();System.out.println(con);System.out.println(url.getProtocol());System.out.println(url.getPort());System.out.println(url.getPath());System.out.println(url.getFile());System.out.println(url.getQuery());/*http 協議8080 端口/shopping/login.html 路徑/shopping/login.html?name=HAHA 文件名(包括path部分 + query部分)name=HAHA 查詢部分(也就是參數部分)*/InputStream in = con.getInputStream();byte[] bt = new byte[1024*2];int len = in.read(bt);System.out.println(new String(bt, 0, len, "utf-8"));
請求頭.... out.println("Aceept: */*");//客戶端能夠處理的文件類型(不是必須) out.println("Host: 192.168.1.111:8080");//客戶端要訪問的主機及服務器的端口(必寫),否則會出現400(請求錯誤) out.println("Connection: close");//傳輸完成后和服務器的鏈接狀態(不是必須) out.println();//空行用來區分請求頭和請求體(必寫)
請求體....
?
改用URL和URLConnection來處理更為方便//URL這個類通過獲取URLConnection連接器的對象(也就是將連接封裝成了對象:java中內置的可以解析的具體協議的對象+socket)//另外,Socket 和 DatagramSocket 是負責傳輸層工作的,而URL或者URLConnection是負責應用層工作的//所以網絡編程用URL是比較好的(只保留服務器端的應答體,應答消息頭和應答消息行不會顯示)URL url = new URL("http://localhost:8080/shopping/login.html?name=HAHA");URLConnection con = url.openConnection();System.out.println(con);System.out.println(url.getProtocol());System.out.println(url.getPort());System.out.println(url.getPath());System.out.println(url.getFile());System.out.println(url.getQuery());/*http 協議8080 端口/shopping/login.html 路徑/shopping/login.html?name=HAHA 文件名(包括path部分 + query部分)name=HAHA 查詢部分(也就是參數部分)*/InputStream in = con.getInputStream();byte[] bt = new byte[1024*2];int len = in.read(bt);System.out.println(new String(bt, 0, len, "utf-8"));
?
轉載于:https://www.cnblogs.com/hujunzheng/p/4054505.html
總結
以上是生活随笔為你收集整理的http协议客户端向服务器端请求时一般需要发送的内容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘格式化完不了怎么办 U盘无法格式化怎
- 下一篇: u盘设置启动u盘后怎么取消密码 取消U盘