A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【郑州校区】使用JDK原生api进行网络请求并比较

3.1.1知识概述
使用原生API发送Get请求
[AppleScript] 纯文本查看 复制代码
package cn.itcast.spider;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 使用JDK的api进行get请求
 
 1.在使用httpurlconnection时,默认就是get请求。如何改成post请求?
 2.http协议中,可以指定header,想添加user-agent
 
 */
public class BasicHttpGet {

   public static void main(String[] args) throws Exception {
      //1.指定一个url
      String domain = "http://www.itcast.cn";
      //2.发起一个请求
      URL url = new URL(domain);
      HttpURLConnection conn = (HttpURLConnection)url.openConnection();
      
      //添加请求方式
      conn.setRequestMethod("GET");
      
      //添加请求头------如果编写爬虫,真实浏览器发送的header都拷贝
      conn.setRequestProperty("Accept", "text/html");
      /**
       Accept:text/html
       **/
      
      //3.获取返回值
      InputStream inputStream = conn.getInputStream();
      //3.1 将输入流转换字符串
      BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
      //3.2 一次读取bufferReader的数据
      String line =null;
      while((line=bufferedReader.readLine())!=null){
         System.out.println(line);
      }
      //4.关闭流
      inputStream.close();
   }
   
}
Java网络请求原生API-Post请求
[AppleScript] 纯文本查看 复制代码
package cn.itcast.spider;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 使用JDK的api进行POST请求
 
 1.在使用httpurlconnection时,默认就是get请求。如何改成post请求?
 
 第一步:设置请求方法 setRequestMethod("POST")
 第二步:设置doOutPut(true)
 
 2.http协议中,可以指定header,想添加user-agent
 */
public class BasicHttpGet {

   public static void main(String[] args) throws Exception {
      //1.指定一个url
      String domain = "http://www.itcast.cn";
      //2.发起一个请求
      URL url = new URL(domain);
      HttpURLConnection conn = (HttpURLConnection)url.openConnection();
      
      //2.1 添加请求方式
      conn.setRequestMethod("POST");
      //2.2 添加请求头------如果编写爬虫,真实浏览器发送的header都拷贝
      conn.setRequestProperty("Accept", "text/html");
      /**
       Accept:text/html
       **/
      //2.3 发送一些数据
      conn.setDoOutput(true);
      OutputStream outputStream = conn.getOutputStream();
      // 编写什么样格式的数据?  username=zhangsan&passwd=123
      outputStream.write("username=zhangsan&passwd=123".getBytes());
      outputStream.flush();
      outputStream.close();

      //3.获取返回值
      InputStream inputStream = conn.getInputStream();
      //3.1 将输入流转换字符串
      BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
      //3.2 一次读取bufferReader的数据
      String line =null;
      while((line=bufferedReader.readLine())!=null){
         System.out.println(line);
      }
      //4.关闭流
      inputStream.close();
   }
}
3.1.2视频详情
3.1.3总结与补充
        无
3.1.4课堂提问与练习
3.1.5习题答案
        无
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马