URLConnection使用示例
来源:互联网 发布:网络教育2018招生时间 编辑:程序博客网 时间:2024/06/05 05:19
public abstract class java.net.URLConnection extends Object
抽象类 URLConnection 是所有类的超类,它代表应用程序和 URL 之间的通信链接。此类的实例可用于读取和写入此 URL 引用的资源。通常,创建一个到 URL 的连接需要几个步骤:- 通过在 URL 上调用 openConnection 方法创建连接对象。
- 处理设置参数和一般请求属性。
- 使用 connect 方法建立到远程对象的实际连接。
- 远程对象变为可用,远程对象的头字段和内容变为可访问。
使用以下方法修改设置参数:
- setAllowUserInteraction(boolean allowuserinteraction):可以通过setDefaultAllowUserInteraction 方法设置默认值
- setDoInput(boolean doinput):true:从URL连接读取数据,默认值true
- setDoOutput(boolean dooutput):true:将数据写入URL连接,默认值false,POST请求时需设置为true
- setIfModifiedSince(long ifmodifiedsince)
- setUseCaches(boolean usecaches):是否使用缓存,可以通过setDefaultUseCaches 方法设置默认值
使用以下方法修改一般请求属性:
- setRequestProperty(String key, String value)
上面每个 set 方法都有一个用于获取参数值或一般请求属性值的对应 get 方法。适用的具体参数和一般请求属性取决于协议。
在建立到远程对象的连接后,以下方法用于访问头字段和内容:
- getContent
- getHeaderField
- getInputStream
- getOutputStream
某些头字段需要经常访问。以下方法提供对这些字段的访问:
- getContentEncoding
- getContentLength
- getContentType
- getDate
- getExpiration
- getLastModifed
1.模拟发送GET请求
/** * GET请求 * @param url url * @param params 查询参数 * @return */public String doGet(String url, String params) {try {String urlString = url + "?" + params;URL realUrl = new URL(urlString);URLConnection conn = realUrl.openConnection();// 设置请求参数conn.setUseCaches(false);conn.setConnectTimeout(5000);// 设置请求属性conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");// 使用 connect 方法建立到远程对象的实际连接。 conn.connect(); // 远程对象可用 // 获取响应头 Map<String, List<String>> fieldMap = conn.getHeaderFields(); System.out.println(fieldMap); // 获取相应正文 String line = null; BufferedReader bufr = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuffer sb = new StringBuffer(); while ((line = bufr.readLine()) != null) { sb.append(line); } bufr.close(); return sb.toString();} catch (Exception e) {e.printStackTrace();} return null;}
2.模拟发送POST请求
/** * POST请求 * @param url url * @param params 参数 * @return */public String doPost(String url, String params) {try {URL realUrl = new URL(url);URLConnection conn = realUrl.openConnection();// 设置请求参数conn.setDoInput(true);// true:从URL连接读取数据,默认值true,可以不设置conn.setDoOutput(true);// true:将数据写入URL连接,默认值falseconn.setUseCaches(false);conn.setConnectTimeout(5000);// 设置请求属性conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");// 设置请求体OutputStream out = conn.getOutputStream();out.write(params.getBytes());out.flush();out.close();// 使用 connect 方法建立到远程对象的实际连接。 conn.connect(); // 远程对象可用 // 获取响应头 Map<String, List<String>> fieldMap = conn.getHeaderFields(); System.out.println(fieldMap); // 获取相应正文 String line = null; BufferedReader bufr = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuffer sb = new StringBuffer(); while ((line = bufr.readLine()) != null) { sb.append(line); } bufr.close(); return sb.toString();} catch (Exception e) {e.printStackTrace();} return null;}
本文参考:JDK1.6中文文档,http://blog.csdn.net/laiyaxing/article/details/51585755
阅读全文
0 0
- URLConnection使用示例
- urlconnection示例
- URLConnection 使用
- UrlConnection使用
- URLConnection类 示例
- JDK URLConnection示例
- URlConnection 使用代理
- 使用URL和URLConnection
- 使用URLConnection调用webservice
- URLConnection使用及域名解析
- 使用URLConnection提交请求
- 使用URLConnection调用webservice
- URLConnection 的使用
- 使用urlConnection调用webservice
- 使用 URLConnection提交请求
- URLConnection
- URLConnection
- urlConnection
- 正则表达式对象中lastIndex属性
- 数据结构实验之图论六:村村通公路
- web开发会话跟踪技术
- 数据结构中的各种树
- Java中的阻塞队列
- URLConnection使用示例
- 【npm】npm start 修改启动端口的不同方式
- Splunk 数据库App和Add-on整理总结
- 吴恩达 深度学习 1-3 课后作业 Planar data classification with one hidden layer
- 线结构的提取
- 创建表的语句,以及插入数据(存储过程)
- HTML之初见
- 欢迎使用CSDN-markdown编辑器
- DHTMLDLG 界面制作