【郑州校区】使用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号楼三层
|