网站大量收购独家精品文档,联系QQ:2885784924

java URLConnection全面总结(包括cookie的详细操作及上传文件).docx

java URLConnection全面总结(包括cookie的详细操作及上传文件).docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java URLConnection全面总结(包括cookie的详细操作及上传文件).docx

使用URLConnection处理http请求一、准备使用URLConnection操作http request时,我们至少得知道URL地址和字符集,参数是可选的,它基于具体的需求。String url = /;String charset = UTF-8;String param1 = value1;String param2 = value2;// ...String query = String.format(param1=%sparam2=%s,?URLEncoder.encode(param1, charset),?URLEncoder.encode(param2, charset));参数必须以name=value的形式出现,不同的参数使用连接,通常还需要用URLEncoder.encode()方法将参数转化为URL编码String.format()方法会只是为了方便,如果需要多个 + 来操作字符的时候我就喜欢用这个方法。二、发送一个带参数的get请求这是一段很简单的代码,使用默认的request方法就行URLConnection connection = new URL(url + ? + query).?openConnection();connection.setRequestProperty(Accept-Charset, charset);InputStream response = connection.getInputStream();// ...所有的参数都要放在URL后边,并且使用?连接,头部中的Accept-Charset会告诉服务器你发送的参数使用的是什么编码。如果你不需要发送任何的参数,可以不用写Accept-Charset,如果你不想发送任何的头部信息,可以直接使用URL.openStream()方法。InputStream response = new URL(url).openStream();// ...如果服务器端是HttpServlet,那么它将会调用doGet()方法来处理这个请求,发送的参数可以通过HttpServletRequest.getParameter() 方法访问。三、发送一个带参数的post请求使用URLConnection.setDoOutput(true),就可以发送post请求。网页表单的post请求是application/x-www-form-urlencoded类型的,post请求会将参数放在请求中发送给服务器URLConnection connection = new URL(url).openConnection();connection.setDoOutput(true); // Triggers POST.connection.setRequestProperty(Accept-Charset, charset);connection.setRequestProperty(Content-Type, application/x-www-form-urlencoded;charset=?+ charset);OutputStream output = null;try {?output = connection.getOutputStream();?output.write(query.getBytes(charset));?} finally {?if (output != null)?try { output.close(); } ?catch (IOException logOrIgnore) {}}InputStream response = connection.getInputStream();// ...Note:如果你要使用程序自动发送一个网页的表单,不要忘了input type=”hidden” /元素,你要把所有的hidden元素都使用name=value的方法发送给服务器,另外input type=”submit” /元素也要发送给服务器,因为服务器端通常使用这个参数来判断提交按钮是否被点击,哪一个被点击。你也可以把URLConnection强制转化为HttpURLConnection,那样的话就可以使用HttpURLConnection.setRequestMethod(“POST”)方法代替URLConnection.setDoOutput(true)了。但是如果你想要从这个连接里获取输入流,那还得使用URLConnection.setDoOutput(true)方法。HttpURLConnection httpConnection = (HttpURLConnection)new URL(url).openConnec

文档评论(0)

tangtianxu1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档