1、get方式(参数直接写在URL后面):
/**
* jdk的get方式的请求发送
*
* @throws Exception
*/
@Test
public void RequestGet() throws Exception {
// 获取我们的请求的url对象,需要传入请求的连接地址
URL url = new URL("http://www.itcast.cn");
// 通过调用openConnection 方法,获取网络连接
URLConnection connection = url.openConnection();
// 获取输入流,网页的所有内容都在这个输入流里面,将这个输入流转换成字符串就可以显示网页内容
InputStream inputStream = connection.getInputStream();
// 将输入流读到bufferedReader里面,然后就可以从bufferedReader里面获取字符串内容
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
StringBuffer stringBuffer = new StringBuffer();
String line = null;
while ((line = bufferedReader.readLine()) != null) {
stringBuffer.append(line);
stringBuffer.append("\r\n");
}
System.out.println(stringBuffer.toString());
// 关闭输入流
inputStream.close();
}
2、post方式(参数用代码方式实现)
@Test
public void RequestPost() throws Exception {
// 获取我们url的请求地址
URL url = new URL("http://www.itcast.cn");
// 通过我们的url去打开一个连接,请求网站
// 记住,获取一个抽象类,只有两个方法,第一个,找子类,第二个,看这个抽象类有没有提供什么方法返回他自己的
// 强制转换成HttpURLConnection就可以设置请求的方法了
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
// 通过setRequestMethod设置请求的方法为post
httpURLConnection.setRequestMethod("POST");
/**
* post请求带参数开始
*/
// 允许我们的请求,可以携带输出流
httpURLConnection.setDoOutput(true);
// 通过输出流,来携带我们请求的参数
OutputStream outputStream = httpURLConnection.getOutputStream();
outputStream.write("username=zhangsan&password=list".getBytes());
/**
* post请求带参数结束
*/
InputStream inputStream = httpURLConnection.getInputStream();
// 将输入流读到bufferedReader里面,然后就可以从bufferedReader里面获取字符串内容
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
StringBuffer stringBuffer = new StringBuffer();
String line = null;
while ((line = bufferedReader.readLine()) != null) {
stringBuffer.append(line);
stringBuffer.append("\r\n");
}
System.out.println(stringBuffer.toString());
}