Java中HTTP通信
2024-10-20 05:37:16
Java自带的get、post请求:
get请求方式:
package com.java; import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
/**
* java自带get请求方式
* @author yxm
*
*/
public class HttpGet {
public static void main(String[] args) {
new Get().start();
}
static class Get extends Thread{
@Override
public void run() {
try {
URL url = new URL("http://fanyi.youdao.com/openapi.do?keyfrom=huhailang&key=557910319&type=data&doctype=xml&version=1.1&q=welcome");
URLConnection connection = url.openConnection();
InputStream is = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr); String line;
StringBuffer builder = new StringBuffer();
while((line=br.readLine())!=null){
builder.append(line);
}
br.close();
isr.close();
is.close();
System.out.println(builder.toString()); } catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO: handle exception
}
}
}
}
Java自带的post请求:
package com.java;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
/**
* Java自带的post请求
* @author yxm
*
*/
public class HttpPost { public static void main(String[] args) {
// TODO Auto-generated method stub
new Post().start();
}
static class Post extends Thread{
@Override
public void run() {
try {
//http://fanyi.youdao.com/openapi.do?keyfrom=huhailang&key=557910319&type=data&doctype=xml&version=1.1&q=welcome
URL url = new URL("http://fanyi.youdao.com/openapi.do");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.addRequestProperty("encoding", "UTF-8");
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST"); OutputStream os = connection.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
bw.write("keyfrom=huhailang&key=557910319&type=data&doctype=xml&version=1.1&q=welcome");
bw.flush(); InputStream is = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr); String line;
StringBuilder builder = new StringBuilder();
while((line=br.readLine())!=null){
builder.append(line);
} bw.close();
osw.close();
os.close();
br.close();
isr.close();
is.close(); System.out.println(builder.toString()); } catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO: handle exception
}
}
} }
Apache提供的HTTPclient,同样也包含get和post两种方式
httpclient下载地址:http://hc.apache.org/downloads.cgi
get方式:
public class HttpGets {
public static void main(String[] args) {
new Get().start();
} static class Get extends Thread{
HttpClient client = HttpClients.createDefault();
@Override
public void run() {
HttpGet get = new HttpGet("www.baidu.com"); HttpResponse reponse = client.excute(get);
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString("encoding","UTF-8"); System.out.println(result);
}
}
}
post方式:
public class HttpPosts { public static void main(String[] args) {
new Post().start();
}
static class Post extends Thread{
HttpClient client = HttpClients.createDefault();
@Override
public void run() {
HttpPost post = new HttpPost("http://fanyi.youdao.com/openapi.do"); List<BasicNameValuePair> paramters = new ArrayList<>();
paramters.add(new BasicNameValuePair("keyform","huhailang"));
paramters.add(new BasicNameValuePair("key","557910319"));
paramters.add(new BasicNameValuePair("type","data"));
paramters.add(new BasicNameValuePair("doctype","xml"));
paramters.add(new BasicNameValuePair("version","1.1"));
paramters.add(new BasicNameValuePair("q","welcome")); post.setEntity(new UrlEncodedFormEntity(paramters,"UTF-8"));
HttpResponse reponse = client.excute(post);
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString("encoding","UTF-8"); System.out.println(result);
}
} }
最新文章
- PXE DHCP获取IP与传统DHCP获取IP地址的区别
- ICEM(2)—机翼翼稍网格绘制
- 【leetcode】Unique Paths
- JSON.NET 使用技巧
- hadoop数据流转过程分析
- Altium Designer中默认取消重复画线的选项
- FFT算法的物理意义
- OpenWRT GPIO人口控制 WLED
- USACO 1.3 Wormholes
- centos6.5 ssh免密码登陆
- (转)PL SQL Developer 使用总结
- windows下创建启动脚本bat
- Android 如何避免运行时奔溃
- RabbitMQ 适用于云计算集群的远程调用(RPC)
- day 2 - 逻辑运算
- 一小时入门webpack
- FireFox火狐不能收藏书签
- bzoj 4332: JSOI2012 分零食 快速傅立叶变换
- mysql 中的存储过程
- 一个很有参考意义的unity博客