HttpURLConnection类的作用是通过HTTP协议向服务器发送请求,并可以获取服务器发回的数据。 HttpURLConnection来自于jdk,它的完整名称为:java.net.HttpURLConnection HttpURLConnection类,没有公开的构造方法,但我们可以通过java.net.URL的openConnection方法获取一个URLConnection的实例,而HttpURLConnection是它的子类。

URL url = new URL(“http://localhost:8080”); HttpURLConnection connection = (HttpURLConnection) url.openConnection();

示例:

conn.getResponseCode():获取响应码 conn.getResponseMessage():获取响应码描述 conn.getHeaderField(“Server”):获取响应头 conn.getInputStream():获取正文输入流

Source code    
  1. //建立与服务器的URL对像
  2. URL url = new URL("http://localhost:9999/day05/servlet/Servlet1");
  3. //打开连接
  4. HttpURLConnection con = (HttpURLConnection)url.openConnection();
  5. //获取服务器的输入流
  6. InputStream in = con.getInputStream();
  7. BufferedReader br = new BufferedReader(new InputStreamReader(in));
  8. String str = "";
  9. while((str=br.readLine())!=null){
  10. System.err.println(str);
  11. }
  12. con.disconnect();

向服务器发消息默认请求到doGet方式

Source code    
  1. URL url = new URL("http://localhost:9999/day05/index.jsp");
  2. HttpURLConnection con = (HttpURLConnection)url.openConnection();
  3. //1、打开可以向服务器发消息
  4. con.setDoOutput(true);
  5. conn.setRequestProperty("xxx", "yyy");//发送请求头
  6. OutputStream out = con.getOutputStream();
  7. out.write(“name=wzhting”.getBytes());//发送正文数据
  8. //2、获取状态码,以表示完成请求
  9. int code = con.getResponseCode();
  10. System.err.println(code);

使用doPost方式

Source code    
  1. URL url = new URL("http://localhost:9999/day05/servlet/TestConnection");
  2. HttpURLConnection con = (HttpURLConnection)url.openConnection();
  3. //1、设置请求方式为post
  4. con.setRequestMethod("POST");
  5. //可以向服务器发消息
  6. con.setDoOutput(true);
  7. OutputStream out = con.getOutputStream();
  8. out.write("name=wzhting".getBytes));
  9. //获取状态码,以表示完成请求
  10. int code = con.getResponseCode();
  11. System.err.println(code);

HttpURLConnection详解的更多相关文章

  1. HttpUrlConnection使用详解--转AAAAA

    http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/HttpConnection.html HttpUr ...

  2. HTTP和HTTPS详解

    http://blog.csdn.net/mingli198611/article/details/8055261/ 转自:http://www.cnblogs.com/ok-lanyan/archi ...

  3. java.util.Scanner应用详解++扫描控制台输入

    java.util.Scanner应用详解   java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...

  4. HTMLParser 使用详解

    htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或   提取html.它能超高速解析html,而且不会出错.现在htmlparser最新版本为2 ...

  5. HttpClient使用详解

    http://itindex.net/detail/52566-httpclient HttpClient使用详解 标签: httpclient | 发表时间:2015-01-22 12:07 | 作 ...

  6. (转)java.util.Scanner应用详解

    java.util.Scanner应用详解   java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...

  7. JavaI/O体系详解

    Java中IO操作主要是指使用Java进行输入,输出操作,Java中所有的IO操作类都存放在Java.io包中,在使用时需要导入此包. 在整个Java.io包中最重要的就是5个类和一个接口.5个类指的 ...

  8. android 的android httpClient详解

    AndroidHttpClient结构: public final class AndroidHttpClient extends Object implements HttpClient 前言: 这 ...

  9. 【转】Android OkHttp3简介和使用详解

    一 OKHttp简介 OKHttp是一个处理网络请求的开源项目,Android 当前最火热网络框架,由移动支付Square公司贡献,用于替代HttpUrlConnection和Apache HttpC ...

随机推荐

  1. 为什么memset不能将数组元素初始化为1?

    原型:extern void *memset(void *buffer, int c, int count); 功能:把buffer所指内存区域的前count个字节设置成字符c. 包含头文件:< ...

  2. 安装laravel

    # 安装laravel 安装composer #安装 curl -sS https://getcomposer.org/installer | php #添加到PATH sudo mv compose ...

  3. CSS的权重(转)

    CSS写的渐渐多了,他的权重问题就不得不昂首面对,之前一直得过且过的将就用着,直到最近遇到了几个大坑,一直割刺着我对前端的热情,得了得了,蒙不过去了,就发点时间记下来吧,当然还是一片转载的文章,有时候 ...

  4. 丰富的else语句及简洁的with语句 - 零基础入门学习Python034

    丰富的else语句及简洁的with语句 让编程改变世界 Change the world by program 丰富的else语句 有鱼油可能会说,else语句还有啥好讲的?经常跟if语句进行搭配用于 ...

  5. 字典:当索引不好用时 - 零基础入门学习Python025

    字典:当索引不好用时 让编程改变世界 Change the world by program 有天你想翻开牛津字典,查找"sadomasochism[ˌseɪdoʊ'mæsəkɪzəm]&q ...

  6. sqlserver查询编辑器编辑数据

    1.我想编辑这几行的sortid,方式可以直接写sql,但是还有一种更简洁的方法,如下: 2.用这种方式可以直接修改,比较方便. 3.总结:要做一件事情,可能有很多种方法.而且很有可能有简单的方法,如 ...

  7. 如何用googletest写单元测试

    http://www.uml.org.cn/c++/201203293.asp googletest是一个用来写C++单元测试的框架,它是跨平台的,可应用在windows.linux.Mac等OS平台 ...

  8. hdu 1116 Play on Words

    http://acm.hdu.edu.cn/showproblem.php?pid=1116 欧拉通路和欧拉回路 #include <cstdio> #include <cstrin ...

  9. C51单片机内存优化

    52本身有256B的数据存储区,如果没在意一些细节,很容易出现RAM超过128就报错的情况.现讲其问题解释如下: 最常见的是以下两种: ① 超过变量128后必须使用compact模式编译,实际的情况是 ...

  10. android批量文件上传(android批量图片上传)

    项目中多处用到文件批量上传功能,今天正好解决了此问题,在此写出来,以便日后借鉴. 首先,以下架构下的批量文件上传可能会失败或者不会成功:   1.android客户端+springMVC服务端:服务端 ...