http編程
1、 URL: 統一定位標示符,實際就是網址
協議:// IP : 端口 / 應用項目 /文件路徑
http://10.7.152.108:8080/j1705server/index.html
創建URL對象 new URL(“ 網址 ”)
通過各種getXXX()獲取數據
通過openStream() 獲取InputStream
通過openConnection()獲取URLConnetion
2、 URLConnection
對象獲取 通過openConnection()獲取URLConnetion
3、 HttpURLConnection
- 對象獲取 (HttpURLConnection)URLConnection
- 請求 request 兩種方式get和post
響應 response
如果get請求
- 1)拼接url字符串 http://ip:port/app/路徑?參數名=參數值&參數名=參數值
- 2) 創建url對象,獲取httpurlconnection對象
- 3) 設置屬性 setConnect Timeout() setRequestMethod(“GET”)
- 4) 發送請求 connect()
- 5) 判斷響應狀態,進行下一步操作
- if(hconn.getResponseCode()== HttpURLConnection.HTTP_OK){
- 獲取inputStream
}
如果post請求
- 1)url字符串 http://ip:port/app/路徑
- 參數字符串 paramStr = “參數名=參數值&參數名=參數值”
- 2) 創建url對象,獲取httpurlconnection對象
- 3) 設置屬性 setConnect Timeout() setRequestMethod(“POST”)
- 將參數字符串寫入
- 設置output可用 setDoOutput(true)
- 獲取OutputStream getOutputStream()
- 寫入數據 write(paramStr.getBytes())
- 4) 發送請求 connect()
- 5) 判斷響應狀態,進行下一步操作
- if(hconn.getResponseCode()== HttpURLConnection.HTTP_OK){
- 獲取inputStream
- }
- 4、 HttpClient : 第三方提供的對於http的操作,因此需要導入jar包
- 1) 創建HttpClient new DefaultHttpClient()
- 2) 創建請求對象 new HttpGet( urlStr ) new HttpPost(urlStr)
- 3) 如果是需要添加數據到請求中,則在此完成
- 4) 發送請求,並且獲取響應對象 HttpResponse resp = httpclient.execute(get/post);
- 5) 判斷響應狀態,進行下一步操作
- if(resp.getStatusLine().getStatusCode() == 200){
- a) 獲取數據
- Entity entity = resp. getEntity();
- b) 解析數據
- EntityUtils.toString(entity )
- EntityUtils. toByteArray(entity )
- }