




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产业工人赋能新质生产力
- 民族工作培训课件
- 2025年耳鼻喉科常见疾病治疗方案考核答案及解析
- 挤压的概念及实计算
- 2025年肿瘤科恶性淋巴瘤分期与治疗模拟考试卷答案及解析
- 2025年肿瘤放疗计划设计模拟考试答案及解析
- 新质生产力理论与教育
- 2025年放射科医生影像学诊断实践考核答案及解析
- 2025年儿科感染性疾病诊治知识考核试卷答案及解析
- 2025年放射科常用影像学检查技术考核模拟答案及解析
- GB/T 11376-1997金属的磷酸盐转化膜
- FZ/T 64012.2-2001水刺法非织造布第2部分:卫生用卷材
- SCI论文的写作与发表课件
- 印刷产品检验报告
- 2022年贵州省人民医院医护人员招聘笔试试题及答案解析
- “数学悖论”-辛普森悖论
- 医疗器械临床试验GCP三套考试题
- 烧结岗位安全操作培训-PPT课件
- 【课件】1.2 点线传情——造型元素之点线面 课件-2021-2022学年高中美术人美版(2019)选修绘画
- 运动处方(课堂PPT)
- 物资储备与物流方案
评论
0/150
提交评论