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 )
- }