Java 发送http请求上传文件功能案例_第1页
Java 发送http请求上传文件功能案例_第2页
Java 发送http请求上传文件功能案例_第3页
Java 发送http请求上传文件功能案例_第4页
Java 发送http请求上传文件功能案例_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——Java发送http请求上传文件功能案例Java发送http苦求上传文件功能案例

如何使用Java做一个http苦求上传文件的功能呢?下面是由我为大家整理的Java发送http苦求上传文件功能案例,热爱的可以珍藏一下!了解更多详情资讯,请关注我!

概括代码如下所示:

packagewxapi.WxHelper;

importjava.io.BufferedReader;

importjava.io.DataInputStream;

importjava.io.DataOutputStream;

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.io.OutputStream;

import.HttpURLConnection;

import.URL;

import.URLConnection;

importjava.util.Date;

importjava.util.Map;

importjava.util.Map.Entry;

publicclassHttpRequestUtil

/**

*发送get苦求

*

*@paramrequestUrl

*苦求url

*@paramrequestHeader

*苦求头

*@paramresponseEncoding

*响应编码

*@return页面响应html

*/

publicstaticStringsendGetStringrequestUrl,MapString,StringrequestHeader,StringresponseEncoding

Stringresult=;

BufferedReaderreader=null;

try

ifrequestUrl==null||requestUrl.isEmpty

returnresult;

URLrealUrl=newURLrequestUrl;

URLConnectionconnection=realUrl.openConnection;

connection.setRequestPropertyaccept,text/html,application/xhtml+xml,image/jxr,*/*;

connection.setRequestPropertyuser-agent,Mozilla/5.0WindowsNT10.0;WOW64;rv:53.0Gecko/20220101Firefox/53.0;

ifrequestHeader!=nullrequestHeader.size0

forEntryString,Stringentry:requestHeader.entrySet

connection.setRequestPropertyentry.getKey,entry.getValue;

connection.connect;

ifresponseEncoding==null||responseEncoding.isEmpty

responseEncoding=UTF-8;

reader=newBufferedReadernewInputStreamReaderconnection.getInputStream,responseEncoding;

Stringline;

whileline=reader.readLine!=null

result+=line;

catchExceptione

System.out.println发送GET苦求展现奇怪!;

e.printStackTrace;

finally

try

ifreader!=null

reader.close;

catchExceptione

e.printStackTrace;

returnresult;

/**

*发送post苦求

*

*@paramrequestUrl

*苦求url

*@paramrequestHeader

*苦求头

*@paramformTexts

*表单数据

*@paramfiles

*上传文件

*@paramrequestEncoding

*苦求编码

*@paramresponseEncoding

*响应编码

*@return页面响应html

*/

publicstaticStringsendPostStringrequestUrl,MapString,StringrequestHeader,MapString,StringformTexts,MapString,Stringfiles,StringrequestEncoding,StringresponseEncoding

OutputStreamout=null;

BufferedReaderreader=null;

Stringresult=;

try

ifrequestUrl==null||requestUrl.isEmpty

returnresult;

URLrealUrl=newURLrequestUrl;

HttpURLConnectionconnection=HttpURLConnectionrealUrl.openConnection;

connection.setRequestPropertyaccept,text/html,application/xhtml+xml,image/jxr,*/*;

connection.setRequestPropertyuser-agent,Mozilla/5.0WindowsNT10.0;WOW64;rv:53.0Gecko/20220101Firefox/53.0;

ifrequestHeader!=nullrequestHeader.size0

forEntryString,Stringentry:requestHeader.entrySet

connection.setRequestPropertyentry.getKey,entry.getValue;

connection.setDoOutputtrue;

connection.setDoInputtrue;

connection.setRequestMethodPOST;

ifrequestEncoding==null||requestEncoding.isEmpty

requestEncoding=UTF-8;

ifresponseEncoding==null||responseEncoding.isEmpty

responseEncoding=UTF-8;

ifrequestHeader!=nullrequestHeader.size0

forEntryString,Stringentry:requestHeader.entrySet

connection.setRequestPropertyentry.getKey,entry.getValue;

iffiles==null||files.size==0

connection.setRequestPropertycontent-type,application/x--form-urlencoded;

out=newDataOutputStreamconnection.getOutputStream;

ifformTexts!=nullformTexts.size0

StringformData=;

forEntryString,Stringentry:formTexts.entrySet

formData+=entry.getKey+=+entry.getValue+;

formData=formData.substring0,formData.length-1;

out.writeformData.toString.getBytesrequestEncoding;

else

Stringboundary=+String.valueOfnewDate.getTime;

connection.setRequestPropertycontent-type,multipart/form-data;boundary=+boundary;

out=newDataOutputStreamconnection.getOutputStream;

ifformTexts!=nullformTexts.size0

StringBuildersbFormData=newStringBuilder;

forEntryString,Stringentry:formTexts.entrySet

sbFormData.append--+boundary+\r\n;

sbFormData.appendContent-Disposition:form-data;name=\+entry.getKey+\\r\n\r\n;

sbFormData.appendentry.getValue+\r\n;

out.writesbFormData.toString.getBytesrequestEncoding;

forEntryString,Stringentry:files.entrySet

StringfileName=entry.getKey;

StringfilePath=entry.getValue;

iffileName==null||fileName.isEmpty||filePath==null||filePath.isEmpty

continue;

Filefile=newFilefilePath;

if!file.exists

continue;

out.write--+boundary+\r\n.getBytesrequestEncoding;

out.writeContent-Disposition:form-data;name=\+fileName+\;filename=\+file.getName+\\r\n.getBytesrequestEncoding;

out.writeContent-Type:application/x-msdownload\r\n\r\n.getBytesrequestEncoding;

DataInputStreamin=newDataInputStreamnewFileInputStreamfile;

intbytes=0;

byte[]bufferOut=newbyte[1024];

whilebytes=in.readbufferOut!=-1

out.writebuf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论