一、JDK自带的http通信机制--java.net.URL

package com.wjy;

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; public class TestURL { public static void main(String[] args) {
new GetRun().start();//get请求
new PostRun().start();//post请求
} } class GetRun extends Thread{
public void run() {
try {
//doctype=xml/json/jsonp
URL url = new URL("http://fanyi.youdao.com/openapi.do?keyfrom=wjy-test&key=36384249&type=data&doctype=jsonp&callback=show&version=1.1&q=hello");
URLConnection connection = url.openConnection();
InputStream in = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(in,"utf-8");
BufferedReader br = new BufferedReader(isr);
String line;
StringBuilder sb = new StringBuilder();
while((line = br.readLine()) != null)
{
sb.append(line);
}
br.close();
isr.close();
in.close();
System.out.println(sb.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
} class PostRun extends Thread{
@Override
public void run() {
try {
URL url = new URL("http://fanyi.youdao.com/openapi.do");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.addRequestProperty("encoding", "UTF-8");//添加请求属性
connection.setDoInput(true);//允许输入
connection.setDoOutput(true);//允许输出
connection.setRequestMethod("POST");//POST请求 要在获取输入输出流之前设置 否则报错
//输出
OutputStream os = connection.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
bw.write("keyfrom=wjy-test&key=36384249&type=data&doctype=xml&version=1.1&q=welcome");
bw.flush(); //输入
InputStream in = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(in,"UTF-8");
BufferedReader br = new BufferedReader(isr); String line;
StringBuilder sb = new StringBuilder();
while((line = br.readLine()) != null)
{
sb.append(line);
}
bw.close();
osw.close();
os.close();
br.close();
isr.close();
in.close(); System.out.println(sb.toString()); } catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} } }

二、apache中HttpComponents项目HttpClient工具

package com.wjy;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils; public class TestHttpclient { /**
* 从apache官网下载HttpComponents项目jar包
*/
public static void main(String[] args) {
//new Get().start();
new Post().start();
} } class Get extends Thread{
HttpClient client = HttpClients.createDefault(); @Override
public void run() {
HttpGet get = new HttpGet("http://www.baidu.com");
try {
HttpResponse response = client.execute(get);
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity, "UTF-8");
System.out.println(result);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} }
} class Post extends Thread{
HttpClient client = HttpClients.createDefault(); @Override
public void run() {
HttpPost post = new HttpPost("http://fanyi.youdao.com/openapi.do");
try {
List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
parameters.add(new BasicNameValuePair("keyfrom", "wjy-test"));
parameters.add(new BasicNameValuePair("key", "36384249"));
parameters.add(new BasicNameValuePair("type", "data"));
parameters.add(new BasicNameValuePair("doctype", "xml"));
parameters.add(new BasicNameValuePair("version", "1.1"));
parameters.add(new BasicNameValuePair("q", "welcome"));
post.setEntity(new UrlEncodedFormEntity(parameters));
HttpResponse response = client.execute(post);
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity, "UTF-8");
System.out.println(result);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} }
}

最新文章

  1. 前端开发面试题收集(js部分)
  2. HTML之Hello World
  3. python 初级1
  4. poj1050
  5. 利用navigator对象在浏览器中检查插件
  6. javaWeb中struts开发——Bean标签
  7. 7.FPGA中的同步复位与异步复位
  8. 获取Delphi所有类的类信息
  9. UVa 10098: Generating Fast
  10. fragment、ListFragment使用ListView及自定义Listview等初始化操作
  11. php phalcon
  12. json 模块
  13. WPF中TextBox的PreviewMouseLeftButtonUp事件
  14. Win10系统安装Tomcat8
  15. springboot 入门七-静态资源处理
  16. SpringBoot使用注解实现事务管理
  17. js中图片上传,多次上传同一张不生效
  18. javaweb(4)之Listener&amp;Filter
  19. selenium+java利用AutoIT实现文件上传
  20. ubuntu 18.04 设置固定ip

热门文章

  1. 【CF736D】Permutations 线性代数+高斯消元
  2. 【CF827F】Dirty Arkady&#39;s Kitchen DP
  3. Postfix邮件
  4. php无限极分类递归与普通
  5. hdu4998 Rotate【计算几何】
  6. Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP开发环境!
  7. android speakerphone/
  8. 使用schemasync同步数据库表结构
  9. LightOj 1118 - Incredible Molecules(两圆的交集面积)
  10. java动态加载