導航:首頁 > 編程語言 > java讀取http

java讀取http

發布時間:2024-09-13 05:47:55

『壹』 java用jpcap怎麼識別出http和https的數據包

暫時的解決方法:
在抓到的tcp數據包的data欄位里判斷是否包含"HTTP"字元串。
不足:
1.與wireshark對比後發現,wireshark有的tcp包中data欄位有HTTP也識別為tcp而非http(不知道wireshark是怎麼解析的)。
2.感覺會漏判,不夠准確。
繼續尋找更好的解法,期待解答!

『貳』 java怎樣獲取http請求的body

讀取Body使用request.getReader(),但getReader獲取的是BufferedReader,需要把它轉換成字元串,下面是轉換的方法
public class TestController {
@RequestMapping("/a")
protected void doPost(HttpServletRequest request,
HttpServletResponse response, BufferedReader br)
throws ServletException, IOException {
//Header部分
System.out.print(request.getHeaderNames());
Enumeration<?> enum1 = request.getHeaderNames();
while (enum1.hasMoreElements()) {
String key = (String) enum1.nextElement();
String value = request.getHeader(key);
System.out.println(key + "\t" + value);
}
//body部分
String inputLine;
String str = "";
try {
while ((inputLine = br.readLine()) != null) {
str += inputLine;
}
br.close();
} catch (IOException e) {
System.out.println("IOException: " + e);
}
System.out.println("str:" + str);
}

『叄』 Java獲取Http響應Header信息

本文中演示如何通過URLConnection獲取Http響應Header信息

從響應中獲得Header信息

URL obj = new URL

URLConnection conn = obj openConnection()

Map<String List<String》 map = conn getHeaderFields()

從響應Header中獲取Server信息

Map<String List<String》 map = conn getHeaderFields()

List<String> server = map get( Server )

完整的示例

package qiyadeng ;

import URL;

import URLConnection;

import java util List;

import java util Map;

public class GetHttpResponseHeader {

public static void main(String[] args) {

try {

URL obj = new URL

URLConnection conn = obj openConnection()

Map<String List<String》 map = conn getHeaderFields()

譽伏帶System out println( 顯示響應Header信息 )

for (Map Entry<String List<String》 entry : map entrySet()) {

System out println( Key : + entry getKey() +

Value : + entry getValue())

}

System out println( 使用慶蘆key獲得響應Header信息 )

List<String> server = map get( Server )

if (server == null) {

System out println( Key Server is not found! )

} else {

for (String values : server) {

System out println(values)

}

}

廳兄} catch (Exception e) {

e printStackTrace()

}

}

}

輸出

顯示響應Header信息…

Key : null Value : [HTTP/ OK]

Key : X Pingback Value :

Key : Date Value : [Sun Mar : : GMT]

Key : Transfer Encoding Value : [chunked]

Key : Connection Value : [close]

Key : Content Type Value : [text/; charset=UTF ]

Key : Server Value : [Apache/ (CentOS)]

Key : X Powered By Value : [PHP/ ]

lishixin/Article/program/Java/hx/201311/25662

『肆』 如何用java實現HTTP長連接

咱的理解:
當應用程序讀取完響應體內容後或者調用 close() 關閉了URLConnection.getInputStream()返回的流,
JDK中的HTTP協議句柄將關閉連接,並將連接放到連接緩存中。下次獲取URLConnection示例,並獲取InputStream流時,會再次使用之前打開的TCP連接。

也就是說:

public static String sendPost(String url, String param) { String result = ""; try { URL httpurl = new URL(url); HttpURLConnection httpConn = (HttpURLConnection) httpurl.openConnection(); httpConn.setDoOutput(true); httpConn.setDoInput(true); PrintWriter out = new PrintWriter(httpConn.getOutputStream()); out.print(param); out.flush(); out.close(); BufferedReader in = new BufferedReader(new InputStreamReader(httpConn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } in.close(); } catch (Exception e) { System.out.println("沒有結果!" + e); } return result; }

咱在間隔較短的時間內調用上面的方法(連接的地址不一樣,但還是同一個伺服器同一個項目),用的是同一個TCP連接。咱這么理解對嗎?不對的話請具體講講。謝謝。

『伍』 java 獲得http下載文件的真實名稱

有兩種獲取鏈接文件名的方法:

第一種:從連接URL,從描述中獲取

比如這種地址:

http://book.booktxt.com/txtbuk/20130421/xuanhuan/2013043601180.rar

『陸』 求java 獲取HTTP錯誤信息

import java.net.HttpURLConnection;
import java.net.URL;

public class Test {
public static void main(String[] args) {
try {
HttpURLConnection con=(HttpURLConnection) new URL("啟升http://www.google.com/123").openConnection();
con.setRequestMethod("HEAD"悄態老閉仿);
System.out.println(con.getResponseCode());
System.out.println(con.getResponseMessage());
} catch (Exception e) {
e.printStackTrace();
}
}
}

『柒』 java怎樣讀取http文件伺服器上的文件列表並下載

要求文件名不能寫死,那麼只能到伺服器上去遍歷目錄,如果伺服器開了ftp許可權的話到可以用apache的commons-net包,裡面有ftp功能可以上傳下載文件,也可以遍歷文件

閱讀全文

與java讀取http相關的資料

熱點內容
精通php5應用開發 瀏覽:596
安卓機導資料到電腦用什麼軟體 瀏覽:809
變頻冰箱壓縮機一直工作 瀏覽:464
php編譯後怎麼加密 瀏覽:423
python程序代碼最簡單 瀏覽:127
文件夾粘貼文件黑屏一下 瀏覽:859
伺服器wait什麼意思 瀏覽:263
java電子商務系統源碼 瀏覽:500
單片機還要漲多久 瀏覽:258
蘋果app上的小鎖怎麼設置 瀏覽:536
瑞薩單片機為什麼不出名 瀏覽:801
阿里雲伺服器性能優化安全測試 瀏覽:372
linux組命令 瀏覽:967
怎麼推廣app讓人去下載和注冊 瀏覽:548
空調壓縮機啟動電容用大一點的行嗎 瀏覽:396
mac命令行查找文件 瀏覽:177
按鍵精靈安卓版怎麼停止線程 瀏覽:73
九爺妾不從命壓縮包下載 瀏覽:462
單片機and 瀏覽:687
什麼叫可編程 瀏覽:940