av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

java語(yǔ)言

Java 發(fā)送http請(qǐng)求上傳文件功能案例

時(shí)間:2025-04-20 16:12:59 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

Java 發(fā)送http請(qǐng)求上傳文件功能案例

  如何使用Java做一個(gè)http請(qǐng)求上傳文件的功能呢?下面是由百分網(wǎng)小編為大家整理的Java 發(fā)送http請(qǐng)求上傳文件功能案例,喜歡的可以收藏一下!了解更多詳情資訊,請(qǐng)關(guān)注應(yīng)屆畢業(yè)生考試網(wǎng)!

  具體代碼如下所示:

  package wxapi.WxHelper;

  import java.io.BufferedReader;

  import java.io.DataInputStream;

  import java.io.DataOutputStream;

  import java.io.File;

  import java.io.FileInputStream;

  import java.io.IOException;

  import java.io.InputStreamReader;

  import java.io.OutputStream;

  import java.net.HttpURLConnection;

  import java.net.URL;

  import java.net.URLConnection;

  import java.util.Date;

  import java.util.Map;

  import java.util.Map.Entry;

  public class HttpRequestUtil {

  /**

  * 發(fā)送get請(qǐng)求

  *

  * @param requestUrl

  *      請(qǐng)求url

  * @param requestHeader

  *      請(qǐng)求頭

  * @param responseEncoding

  *      響應(yīng)編碼

  * @return 頁(yè)面響應(yīng)html

  */

  public static String sendGet(String requestUrl, Map<String, String> requestHeader, String responseEncoding) {

  String result = "";

  BufferedReader reader = null;

  try {

  if (requestUrl == null || requestUrl.isEmpty()) {

  return result;

  }

  URL realUrl = new URL(requestUrl);

  URLConnection connection = realUrl.openConnection();

  connection.setRequestProperty("accept", "text/html, application/xhtml+xml, image/jxr, */*");

  connection.setRequestProperty("user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0");

  if (requestHeader != null && requestHeader.size() > 0) {

  for (Entry<String, String> entry : requestHeader.entrySet()) {

  connection.setRequestProperty(entry.getKey(), entry.getValue());

  }

  }

  connection.connect();

  if (responseEncoding == null || responseEncoding.isEmpty()) {

  responseEncoding = "UTF-8";

  }

  reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), responseEncoding));

  String line;

  while ((line = reader.readLine()) != null) {

  result += line;

  }

  } catch (Exception e) {

  System.out.println("發(fā)送GET請(qǐng)求出現(xiàn)異常!");

  e.printStackTrace();

  } finally {

  try {

  if (reader != null) {

  reader.close();

  }

  } catch (Exception e) {

  e.printStackTrace();

  }

  }

  return result;

  }

  /**

  * 發(fā)送post請(qǐng)求

  *

  * @param requestUrl

  *      請(qǐng)求url

  * @param requestHeader

  *      請(qǐng)求頭

  * @param formTexts

  *      表單數(shù)據(jù)

  * @param files

  *      上傳文件

  * @param requestEncoding

  *      請(qǐng)求編碼

  * @param responseEncoding

  *      響應(yīng)編碼

  * @return 頁(yè)面響應(yīng)html

  */

  public static String sendPost(String requestUrl, Map<String, String> requestHeader, Map<String, String> formTexts, Map<String, String> files, String requestEncoding, String responseEncoding) {

  OutputStream out = null;

  BufferedReader reader = null;

  String result = "";

  try {

  if (requestUrl == null || requestUrl.isEmpty()) {

  return result;

  }

  URL realUrl = new URL(requestUrl);

  HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();

  connection.setRequestProperty("accept", "text/html, application/xhtml+xml, image/jxr, */*");

  connection.setRequestProperty("user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0");

  if (requestHeader != null && requestHeader.size() > 0) {

  for (Entry<String, String> entry : requestHeader.entrySet()) {

  connection.setRequestProperty(entry.getKey(), entry.getValue());

  }

  }

  connection.setDoOutput(true);

  connection.setDoInput(true);

  connection.setRequestMethod("POST");

  if (requestEncoding == null || requestEncoding.isEmpty()) {

  requestEncoding = "UTF-8";

  }

  if (responseEncoding == null || responseEncoding.isEmpty()) {

  responseEncoding = "UTF-8";

  }

  if (requestHeader != null && requestHeader.size() > 0) {

  for (Entry<String, String> entry : requestHeader.entrySet()) {

  connection.setRequestProperty(entry.getKey(), entry.getValue());

  }

  }

  if (files == null || files.size() == 0) {

  connection.setRequestProperty("content-type", "application/x-www-form-urlencoded");

  out = new DataOutputStream(connection.getOutputStream());

  if (formTexts != null && formTexts.size() > 0) {

  String formData = "";

  for (Entry<String, String> entry : formTexts.entrySet()) {

  formData += entry.getKey() + "=" + entry.getValue() + "&";

  }

  formData = formData.substring(0, formData.length() - 1);

  out.write(formData.toString().getBytes(requestEncoding));

  }

  } else {

  String boundary = "-----------------------------" + String.valueOf(new Date().getTime());

  connection.setRequestProperty("content-type", "multipart/form-data; boundary=" + boundary);

  out = new DataOutputStream(connection.getOutputStream());

  if (formTexts != null && formTexts.size() > 0) {

  StringBuilder sbFormData = new StringBuilder();

  for (Entry<String, String> entry : formTexts.entrySet()) {

  sbFormData.append("--" + boundary + "\r\n");

  sbFormData.append("Content-Disposition: form-data; name=\"" + entry.getKey() + "\"\r\n\r\n");

  sbFormData.append(entry.getValue() + "\r\n");

  }

  out.write(sbFormData.toString().getBytes(requestEncoding));

  }

  for (Entry<String, String> entry : files.entrySet()) {

  String fileName = entry.getKey();

  String filePath = entry.getValue();

  if (fileName == null || fileName.isEmpty() || filePath == null || filePath.isEmpty()) {

  continue;

  }

  File file = new File(filePath);

  if (!file.exists()) {

  continue;

  }

  out.write(("--" + boundary + "\r\n").getBytes(requestEncoding));

  out.write(("Content-Disposition: form-data; name=\"" + fileName + "\"; filename=\"" + file.getName() + "\"\r\n").getBytes(requestEncoding));

  out.write(("Content-Type: application/x-msdownload\r\n\r\n").getBytes(requestEncoding));

  DataInputStream in = new DataInputStream(new FileInputStream(file));

  int bytes = 0;

  byte[] bufferOut = new byte[1024];

  while ((bytes = in.read(bufferOut)) != -1) {

  out.write(bufferOut, 0, bytes);

  }

  in.close();

  out.write(("\r\n").getBytes(requestEncoding));

  }

  out.write(("--" + boundary + "--").getBytes(requestEncoding));

  }

  out.flush();

  out.close();

  out = null;

  reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), responseEncoding));

  String line;

  while ((line = reader.readLine()) != null) {

  result += line;

  }

  } catch (Exception e) {

  System.out.println("發(fā)送POST請(qǐng)求出現(xiàn)異常!");

  e.printStackTrace();

  } finally {

  try {

  if (out != null) {

  out.close();

  }

  if (reader != null) {

  reader.close();

  }

  } catch (IOException ex) {

  ex.printStackTrace();

  }

  }

  return result;

  }

  }

【Java 發(fā)送http請(qǐng)求上傳文件功能案例】相關(guān)文章:

java如何利用java.net.URLConnection發(fā)送HTTP請(qǐng)求08-05

JAVA如何獲取HTTP請(qǐng)求頭10-22

關(guān)于java實(shí)現(xiàn)http請(qǐng)求工具類(lèi)示例09-09

php實(shí)現(xiàn)文件上傳及頭像預(yù)覽功能10-17

java上傳文件到七牛云中09-23

PHP實(shí)現(xiàn)文件上傳和多文件上傳07-31

JavaWeb如何實(shí)現(xiàn)文件上傳下載功能08-23

Html5如何實(shí)現(xiàn)文件異步上傳功能09-16

php文件怎么上傳06-21