http编程(一)使用javaAPI实现
Java Http编程中常见的实现方式是使用Java 提供的API,另外就是使用Apache提供的 API 1、通过Java提供的API实现Http编程
类:URL:类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。
HttpURLConnection:支持 HTTP 特定功能的 URLConnection
URLConnection 抽象类是所有类的超类,它代表应用程序和 URL 之间的通信链接。此类的实例可用于读取和写入此 URL 引用的资源 1.1、下载数据(以下载一直图片为例)
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL; public class DownloadImage { public static void main(String[] args) throws IOException {
//资源的URL:就是一个资源的连接,URL中的参数淡然也可以是网上的一些图片或者其他资源的连接了
//例如把http://localhost:8080/Day_0818/aa.jpg换为http://home.cnblogs.com/images/logo_home.gif下载博客园的logo,当然存储 到时候要改后缀了
URL url = new URL("http://localhost:8080/Day_0818/aa.jpg");
//通过url获取一个封装了http协议的URL连接对象:HttpURLConnection
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//设置连接的请求方式,因为是获取数据,所以请求方式为GET:必须大写
connection.setRequestMethod("GET");
//设置是否能够获取连接的输入流,默认就是true,也可以不写这条语句
connection.setDoInput(true);
//有了连接,就要打开连接
connection.connect();
//获取响应码
int code = connection.getResponseCode();
//响应码是200则表示连接成功响应
if(200 == code){
//获取连接 的输入流
InputStream is = connection.getInputStream();
//文件输出流对象,(创建存放资源的文件)
FileOutputStream fos = new FileOutputStream("e:\\aa.jpg");
//字节数组,我理解为输入流和输出流的一个中介,输入流把数据放到数组里让输出流读取
byte[] b = new byte[1024];
int length = -1;
while((length = is.read(b)) != -1){
fos.write(b, 0, length);
fos.flush();
}
//关闭流
fos.close();
}
} }
----------------------------------------------------------------------------------------
//post方式来模拟登录。
/*
需要创建LoginServlet类接收数据
*/
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL; //http://localhost:8080/MyServer/loginServlet?username=admin&userpwd=111
public class URLDemo2 {
public static void main(String[] args) throws Exception {
String path = "http://localhost:8080/MyServer/loginServlet";
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setConnectTimeout(30000);
connection.setDoInput(true);
connection.setDoOutput(true);
//username=admin&userpwd=111
/*
* 将用户名和密码改成用户输入的数据。
*/
OutputStream os = connection.getOutputStream();
os.write("username=admin&userpwd=111".getBytes());
connection.connect();
int code = connection.getResponseCode();
if(code==200){
InputStream is = connection.getInputStream();
byte[] b = new byte[1024];
int length = is.read(b);
System.out.println(new String(b,0,length));
is.close();
} } }
http编程(一)使用javaAPI实现的更多相关文章
- Java初始阶段
初时接触感觉Java与C语言有很多异曲同工之处. Java起源: Java之父:James Gosling 正式发布时间:1995年5月23日 其特点为:简单.面向对象.可移植.多线程.动态 其编译后 ...
- Java之初识
今天开始学习Java 1.什么是Java? Java是1995年由sun公司推出的一门极富创造力的面向对象编程语言,是由Java之父詹姆斯格斯林博士设计的. Java名字的由来:据说,java刚刚设计 ...
- Java匹马行天下之JavaSE核心技术——Java基础语法
Java基础语法 一. 认识Java 1. Java 简介 java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的.从pc到手机,都有Java开发的程序和游戏,Java ...
- 【Java初探01】——Java简介及相关
Java 简介 java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的.从pc到手机,都有Java开发的程序和游戏,Java程序可以在任何计算机,操作系统和支持的Java的 ...
- IM聊实现客户端之间信息交互需求文档
终于放假啦~之前学习太忙很多知识点都没有写博客,可能自己学会了但没有分享给大家,接下来几天我可能把一些学过的东西整理成博客发出来供大家相互学习交流. 需求分析说明书 HuaXinIM聊软件 潘浩 20 ...
- java之API初识
API概念 API(Application Programming Interface),应用程序编程接口.JavaAPI是一本程序员的字典 ,是JDK中提供给 我们使用的类的说明文档.这些类将底层的 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- HBase JavaAPI
一.概念 1.对HBase JavaAPI的概述: 01.hbase使用java语言编写,自然支持java编程 02.支持CRUD操作 03.JavaAPI包含了所有的hbase的shell,甚至比这 ...
- 4 kafka集群部署及kafka生产者java客户端编程 + kafka消费者java客户端编程
本博文的主要内容有 kafka的单机模式部署 kafka的分布式模式部署 生产者java客户端编程 消费者java客户端编程 运行kafka ,需要依赖 zookeeper,你可以使用已有的 zo ...
随机推荐
- 浅谈webuploader上传文件
官网:http://c7.gg/fw4sn 案例: 文件上传进度 // 文件上传过程中创建进度条实时显示. uploader.on( 'uploadProgress', function( file, ...
- 一种基于Redis的10行代码实现IP频率控制方法
优点:可支持海量访问的频率控制,只需要增加Redis机器,单个Redis节点(只占用一个cpu core)即可支持10万/s以上的处理. 基于IP频率限制是种常见需求,基于Redis可以十分简单实现对 ...
- hdu 4004 最大值最小化
http://acm.hdu.edu.cn/showproblem.php?pid=4004 一条线段长度为L,线段上有n个点,最多选取 m-1 个点,使得包括线段端点在内的相邻点之间的最大距离值最小 ...
- 用NPOI操作EXCEL--巧妙使用Excel Chart
在NPOI中,本身并不支持Chart等高级对象的创建,但通过l模板的方式可以巧妙地利用Excel强大的透视和图表功能,请看以下例子. 首先建立模板文件,定义两列以及指向此区域的名称“sales”: 创 ...
- wsdl 结构解析
webservice的跨平台特性要求它必须有某种手段来对服务进行自我描述,使不同的语言能正确理解如何调用该服务.webservice通过WSDL(Web Services Description La ...
- 查看Linux服务器被映射的公网ip
查看Linux服务器被映射的公网ip 现在云服务器非常流行,不仅企业甚至是个人都可能拥有自己的云服务器,但是目前的云服务器厂商提供的公网IP大都是映射而来,所以在Linux服务器上执行ifconf ...
- C#使用oledb操作excel文件的方法
本文实例讲述了C#使用oledb操作excel文件的方法.分享给大家供大家参考.具体分析如下: 不管什么编程语言都会提供操作Excel文件的方式,C#操作Excel主要有以下几种方式: 1.Excel ...
- 安装webpack常见错误之一
我安装webpack时,出现如下错误: C:\Users\admin> npm install webpack -gnpm WARN checkPermissions Missing write ...
- sqlServer 查询表中31到40的记录,考虑id不连续的情况
SQL 查询表中31到40的记录,考虑id不连续的情况 写出一条sql语句输出users表中31到40记录(数据库为SQL Server,以自动增长的ID作为主键,注意ID可能不是连续的)? -- ...
- day103 跨域请求 与频率访问限制.
目录 一.跨域请求 二.频率访问限制 一 .同一个域下的ajax请求访问 url文件 from django.conf.urls import url from django.contrib imp ...