Java之URL实现下载

目的

将Java和HTML语言结合起来实现数据的下载

具体内容

先建一个HTML文件,可以下载Sublime Text软件或者新建一个文本文档






登录


   


用户名:

密  码:

再建一个PHP文件


保存并运行
在AndroidStudio里的操作:
1.使用get请求数据

public class MyClass {
public static void main(String[] args) throws IOException {
    //使用代码访问服务器的数据
    //URL
    //1.创建URL
    String path="http://127.0.0.1/login.php?"+"user_name=jackson&user_pwd=123";
    URL url=new URL(path);
    // 获取连接的对象
    // URLConnection封装了socket
    URLConnection connection=url.openConnection();
    //设置请求方式
    HttpURLConnection httpConnection=(HttpURLConnection)connection;
    httpConnection.setRequestMethod("GET");
    //接收服务器端的数据
    InputStream is=connection.getInputStream();
    byte[] buf=new byte[1024];
    int len;
    while ((len=is.read(buf))!=-1){
        System.out.println(new String(buf,0,len));
      }
   }
}

2.使用post上传数据

public class MyClass {
public static void main(String[] args) throws IOException {
    post();
}
//使用post上传数据
public static void post() throws IOException {
    //1.创建URL
    URL url=new URL("http://127.0.0.1/login.php");
    //2.获取connection对象
    // URLConnection
    // HttpURLConnection 自己需要设定请求的内容
    URLConnection connection=url.openConnection();
    //3.设置请求方式为post
    ((HttpURLConnection) connection).setRequestMethod("POST");
    //设置有输出流 需要上传
    connection.setDoOutput(true);
    //设置有输入流 需要下载
    connection.setDoInput(true);
    //4.准备上传的数据
    String data="user_name=jackson"+"user_pwd=123";
    //5.开始上传输出流对象
    OutputStream os=connection.getOutputStream();
    os.write(data.getBytes());
    os.flush();
    InputStream is=connection.getInputStream();
    byte[] buf=new byte[1024];
    int len;
    while ((len=is.read(buf))!=-1){
        System.out.println(new String(buf,0,len));
    }
}
//下载数据 get 不带参数
public static void getImage() throws IOException {
    //URL
    URL url=new URL("http://127.0.0.1/1.jpg");
    //获取与服务器连接的对象
    URLConnection connection=url.openConnection();
    //读取下载的内容
    InputStream is=connection.getInputStream();
    //创建文件保存的位置
    FileOutputStream fos=new FileOutputStream("C:/Users/Administrator/AndroidStudioProjects/javaday1/src/main/java/day14/1.jpg");
    byte[] buf=new byte[1024];
    int len;
    while ((len=is.read(buf))!=-1){
        fos.write(buf,0,len);
    }
}

你可能感兴趣的:(Java之URL实现下载)