首页 > 学院 > 开发设计 > 正文

http编程(一)使用javaAPI实现

2019-11-15 01:18:37
字体:
来源:转载
供稿:网友
http编程(一)使用javaAPI实现
Java Http编程中常见的实现方式是使用Java 提供的API,另外就是使用Apache提供的 API1、通过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.VEVb.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=111public 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();        }            }}  


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表