HttpUrlConnection 和 okhttp 请求数据
来源:互联网 发布:淘宝淡季是几月份 编辑:程序博客网 时间:2024/06/05 08:49
C/S 客户端+服务器
一,HttpUrlConnection
在客户端用于访问服务器去提交请求, 在从服务器获取响应的类
GET方式 步骤:
1, 得到URL对象
URL url = new URL("path......");
2, 根据URL对象打开HttpUrlConnection对象
HttpUrlConnection conn = (HttpUrlConnection)url.openConnection();
3, 设置请求方式(可以不写, 默认"GET",可以指定"POST",必须大写 )
conn.setRequestMethod("GET");
//连接(可以不写)
conn.connect();
4, 获取响应(如果返回的是200 , 那么连接是成功的)
if(conn.getResponseCode() == 200)
{
InputStream is = conn.getInputStream();
.........
}
POST方式 步骤:
1, 得到URL对象
URL url = new URL(路径);
2, 打开连接
HttpUrlConnection conn = (HttpUrlConnection)url.openConnection();
3, 设置提交方式
conn.setRequestMethod("POST");
4, 设置是否可以向服务器写出数据, 默认为false
conn.setDoOutput(true);
conn.setDoInput(true);//设置是否可以向服务器获取数据, 默认为true
5, 获取向服务器写出数据的流 , 并且写入参数
OutputStream os = conn.getOutputStream();
os.write("参数1键=参数1值&参数2键=参数2值".getBytes());
os.flush();
6, 获取响应信息
if(conn.getResponseCode == 200 )
{
InputStream is = conn.getInputStream();
.......
}
实例:
实例一: 通过GET方式向服务器提交数据,并且获取响应的内容
实例二: 网络获取图片,存入本地磁盘中(GET)
实例三: 通过Post提交数据,并且获取响应的内容
二,OkHttp (Android 6.0后推荐使用)
package okhttp;import java.io.IOException;import okhttp3.FormBody;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.RequestBody;import okhttp3.Response;/** * 通过post 提交 * @author Administrator * */public class DemoOkhttp03 {/** * @param args * @throws IOException */public static void main(String[] args) throws IOException {//1, 导包//2, 的到客户端OkHttpClient client = new OkHttpClient();//3, 发起新的请求,获取返回信息RequestBody body = new FormBody.Builder().add("useName", "abc")//添加键值对.add("usePwd", "321").build();Request request = new Request.Builder().url("http://localhost:8080/Day_28_Servlet/LoginServlet").post(body).build();Response response = client.newCall(request).execute();if(response.isSuccessful()){String str = response.body().string();System.out.println("服务器响应为: " + str);}}}
package conn;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;/** * 用post方式提交数据给Servlet , 并获取响应 */public class DemoConnection03 {/** * @param args * @throws Exception */public static void main(String[] args) throws Exception {String path = "http://localhost:8080/Day_28_Servlet/LoginServlet";//1, 得到URL对象URL url = new URL(path);//2, 打开连接HttpURLConnection conn = (HttpURLConnection) url.openConnection();//3, 设置提交类型conn.setRequestMethod("POST");//4, 设置允许写出数据,默认是不允许 falseconn.setDoOutput(true);conn.setDoInput(true);//当前的连接可以从服务器读取内容, 默认是true//5, 获取向服务器写出数据的流OutputStream os = conn.getOutputStream();//参数是键值队 , 不以"?"开始os.write("useName=abc&usePwd=123".getBytes());os.flush();//6, 获取响应的数据if(conn.getResponseCode()==200){//得到服务器写回的响应数据InputStream is = conn.getInputStream();//是Servlet中通过PrintWrite pw = response.getWrite();//pw.println(....);//pw.close();BufferedReader br = new BufferedReader(new InputStreamReader(is));String str = br.readLine();System.out.println("响应内容为: " + str);}}}
0 0
- HttpUrlConnection 和 okhttp 请求数据
- 封装的Http请求(HttpURLConnection和okHttp)
- OkHttp数据请求和OkHttp拦截器
- HttpURLCOnnection和OKhttp学习
- HttpURLConnection和okHttp两种获取网络数据实现
- HttpClient和HttpURLConnection网络请求数据
- HttpClient和HttpURLConnection网络请求数据
- Okhttp的post和get请求数据
- Android 网络请求(一)HttpURLConnection+OkHttp
- OkHttp和HttpUrlConnection的示例
- HttpURLConnection数据请求
- HttpUrlconnection get请求数据
- httpUrlConnection请求数据
- HttpURLConnection请求数据
- HttpURLConnection请求数据
- HttpURLConnection 网络请求数据
- HttpURLConnection请求json数据
- HttpURLConnection请求数据
- Invoke and BeginInvoke
- linux 调试语句BUG_ON WARN_ON dump_stack panic
- 【代码笔记】iOS-自定义开关
- NOIP 2013 Day1 T3 货车运输
- 单词统计问题
- HttpUrlConnection 和 okhttp 请求数据
- 深入理解Java虚拟机之类加载机制
- 数据结构上机实验之顺序查找
- Git push 报错 fatal: the remote end hung up unexpectedly
- 求Fibonacci数列的第n项
- NOIP 2011 Day1 T2 选择客栈
- 谈C#中的Delegate
- Golang开发新手常犯的50个错误
- 传统制造如何走向“智能制造”