Http上传 下载 Get Post

mac2025-06-19  6

Http

Get下载

加载的网址

private String url_Get = "http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1"; buttonGet.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //1.客户端 连接超时 读取超时 连接 OkHttpClient client = new OkHttpClient.Builder() .connectTimeout(20, TimeUnit.SECONDS)//连接超时 .readTimeout(20, TimeUnit.SECONDS)//读取超时 .build(); //2.请求 请求网址 请求方式 设置请求头 连接 Request request = new Request.Builder() .url(url_Get) //请求网址 .get() //请求方式 // .header() 设置请求头 .build(); //开始连接 // 3.发起连接得到call 用客户端去打点调用 Call call = client.newCall(request); // 4.加入线程队列并得到回应 call.enqueue(new Callback() { //加入队列 @Override public void onFailure(Call call, final IOException e) { //失败 handler.post(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "失败原因" + e.getMessage(), Toast.LENGTH_SHORT).show(); } }); } @Override public void onResponse(Call call, Response response) throws IOException { //成功 //得到一个响应体响应体 ResponseBody responseBody = response.body(); // responseBody.byteStream(); 字节流 // responseBody.bytes() 字节数组 // responseBody.charStream()//字符流 final String string = responseBody.string(); handler.post(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "成功" + string, Toast.LENGTH_SHORT).show(); } }); } }); } });

Post下载

下载的网址

private String url_Post = "http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&"; buttonPost.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { OkHttpClient client = new OkHttpClient.Builder() .readTimeout(20, TimeUnit.SECONDS) .connectTimeout(20, TimeUnit.SECONDS) .build(); FormBody formBody = new FormBody.Builder() .add("page", "1") .build(); Request request = new Request.Builder() .url(url_Post) .post(formBody) //post请求头的设置 .build(); Call call = client.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, final IOException e) { handler.post(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "失败:" + e.getMessage(), Toast.LENGTH_SHORT).show(); } }); } @Override public void onResponse(Call call, final Response response) throws IOException { final String s = response.body().string(); handler.post(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "成功:" + s, Toast.LENGTH_SHORT).show(); } }); } }); } });

下载

网址

private String url_downLoad = "http://uvideo.spriteapp.cn/video/2019/0512/56488d0a-7465-11e9-b91b-1866daeb0df1_wpd.mp4"; buttonDownLoad.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.i(TAG, "onClick: drxcgvhbnk"); OkHttpClient client = new OkHttpClient.Builder() .connectTimeout(20, TimeUnit.SECONDS) .readTimeout(20, TimeUnit.SECONDS) .build(); final Request request = new Request.Builder() .get() .url(url_downLoad) .build(); Call call = client.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, final IOException e) { handler.post(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "失败:" + e.getMessage(), Toast.LENGTH_SHORT).show(); } }); } @Override public void onResponse(Call call, Response response) throws IOException { ResponseBody body = response.body(); Log.i(TAG, "onResponse: " + response.code()); long length = body.contentLength(); InputStream inputStream = body.byteStream(); int len = 0; byte[] bytes = new byte[1024]; int currentLen = 0; FileOutputStream fileOutputStream = new FileOutputStream(new File("/storage/emulated/0/yy.mp4")); while ((len = inputStream.read(bytes)) != -1) { fileOutputStream.write(bytes, 0, len); currentLen += len; final int l = (int) (currentLen * 100 / length); handler.post(new Runnable() { @Override public void run() { progress.setMax(100); progress.setProgress(l); } }); } } }); } });

上传

网址 sd地址

private String url_upload="http://169.254.119.49/mogu/"; private String uploadImage="/storage/emulated/0/yy.mp4"; buttonUpload.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { OkHttpClient client = new OkHttpClient.Builder() .readTimeout(20, TimeUnit.SECONDS) .connectTimeout(20, TimeUnit.SECONDS) .build(); RequestBody requestBody = RequestBody.create(MediaType.parse("Media/mp4"), new File(uploadImage)); MultipartBody multipartBody = new MultipartBody.Builder() .setType(MultipartBody.FORM) //Form 提交的方式 .addFormDataPart("file","mogu.mp4",requestBody) .build(); final Request request = new Request.Builder() .url(url_upload) .post(multipartBody) .build(); Call call = client.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, final IOException e) { handler.post(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "失败:"+e.getMessage(), Toast.LENGTH_SHORT).show(); } }); } @Override public void onResponse(Call call, Response response) throws IOException { final String string = response.body().string(); handler.post(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "成功:"+string, Toast.LENGTH_SHORT).show(); } }); } }); } });
最新回复(0)