http使用get的方式进行网络通信:

package com.testGet;

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; /**
* 使用Http的Get方式读取网络数据
*/
public class TestGet {
public static void main(String[] args) {
new ReadByGet("welcome").start();
}
}
class ReadByGet extends Thread{
private String str;
public ReadByGet(String str){
this.str=str;
}
@Override
public void run() {
try { URL url=new URL("http://fanyi.youdao.com/openapi.do?keyfrom=guodaxia&key=1142217390&type=data&doctype=xml&version=1.1&q="+str);
URLConnection connection=url.openConnection();//打开链接
InputStream is=connection.getInputStream();//获取输入流
InputStreamReader isr=new InputStreamReader(is,"UTF-8");
BufferedReader br=new BufferedReader(isr); String line;
StringBuilder builder=new StringBuilder();
while((line=br.readLine())!=null){
builder.append(line);
}
br.close();
isr.close();
is.close();
System.out.println(builder); } catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

http使用post的方式进行网络通信:

package com.testPost;

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;
/**
* 使用Http的Post方式与网络交互通信
* @author Administrator
*
*/
public class TestPost {
public static void main(String[] args) {
new ReadByPost().start();
}
}
class ReadByPost extends Thread{
@Override
public void run() {
try { URL url=new URL("http://fanyi.youdao.com/openapi.do");
HttpURLConnection connection=(HttpURLConnection) url.openConnection();//Post使用的是HttpURLConnection
connection.addRequestProperty("encoding", "utf-8");
//打开输入输出通道
connection.setDoInput(true);
connection.setDoOutput(true); OutputStream os=connection.getOutputStream();
OutputStreamWriter osw=new OutputStreamWriter(os);
BufferedWriter bw=new BufferedWriter(osw); bw.write("keyfrom=guodaxia&key=1142217390&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); } catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

httpClient使用get方式进行网络通信:

package com.testClientGet;

import java.io.IOException;

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.methods.HttpGet;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils; /**
* 使用HttpClient进行Get方式通信
* @author Administrator
*
*/
public class ClientGet {
public static void main(String[] args) {
new Get().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();
}
} }

httpClient使用post方式进行网络通信:

package com.testClientPost;

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.HttpPost;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils; /**
* 使用HttpClient进行Post方式通信
* @author Administrator
*
*/
public class TestPost {
public static void main(String[] args) {
//http://fanyi.youdao.com/openapi.do
//keyfrom=guodaxia&key=1142217390&type=data&doctype=xml&version=1.1&q=welcome
new Post().start();
}
}
class Post extends Thread{
HttpClient client=HttpClients.createDefault(); @Override
public void run() {
HttpPost post=new HttpPost("http://fanyi.youdao.com/openapi.do");
try {
//Post需要请求参数
//keyfrom=guodaxia&key=1142217390&type=data&doctype=xml&version=1.1&q=welcome
List<BasicNameValuePair> parameters=new ArrayList<BasicNameValuePair>();
parameters.add(new BasicNameValuePair("keyfrom", "guodaxia"));
parameters.add(new BasicNameValuePair("key", "1142217390"));
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,"UTF-8"));
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();
}
}
}

注意:

我这里使用的httpClient是4.3.5版本的

有道翻译api信息在我的邮箱中

Http进行网络通信的更多相关文章

  1. ZeroMQ实例-使用ZMQ(ZeroMQ)进行局域网内网络通信

    本文内容摘要:1)安装zeromq.2)实例说明使用zmq进行网络间的消息发送和接收 首先在机器中安装zmq库 步骤如下: 1)下载zeromq的源代码,ZeroMQ的官方网址:http://zero ...

  2. 基础笔记12(socket,url网络通信)

    进一步深入socket 1.网络通信条件: .IP地址,可用主机名. .传输数据时将不用的应用程序通过数字标识区分开来,这种标识称为逻辑端口,也称端口.(0-65535端口,一般系统预留0-1024) ...

  3. Windows Store App 网络通信 HttpWebRequest

    如果希望更好地控制HTTP请求,可以使用System.Net类库中的HttpWebRequest类,该类对HTTP协议进行了完整的封装,并且提供了很多对HTTP协议中的 Header.Content和 ...

  4. socket网络通信

    1.socket通常也称作"套接字",用于描述IP地址和端口.在internet上的主机一般运行了多个服务软件,同时提供几种服务,每种服务都打开一个socket,并绑定到一个端口上 ...

  5. 20145316&20145229实验五:网络通信

    20145316&20145229实验五:网络通信 结对伙伴:20145316 博客链接:http://www.cnblogs.com/xxy745214935/p/6130897.html

  6. 网络通信之Socket与LocalSocket的比较

    Socket与LocalSocket都可以实现网络通信,两个有什么区别呢? LocalSocket其通信方式与Socket差不多,只是LocalSocket没有跨越网络边界. 于是,思考到一个问题:a ...

  7. Android 网络通信API的选择和实现实例

    Android开发网络通信一开始的时候使用的是AsyncTask封装HttpClient,没有使用原生的HttpURLConnection就跳到了Volley,随着OkHttp的流行又开始迁移到OkH ...

  8. java 25 - 2 网络编程之 网络通信三要素

    网络通信三要素 IP地址: InetAddress 网络中设备的标识,不易记忆,可用主机名(计算机的标识号) 端口号: 用于标识进程的逻辑地址,不同进程的标识(正在运行的软件的标识号) 传输协议: 通 ...

  9. TCP/UDP,SOCKET网络通信,C++/Java实现

    趁这两天没事干,就把网络通信这一块搞一搞,C/S方面的了解一下,很重要! TCP Server/Client

  10. Java网络通信初步认知

    本文转载自:http://wing011203.cnblogs.com/ 在这篇文章里,我们主要讨论如何使用Java实现网络通信,包括TCP通信.UDP通信.多播以及NIO. TCP连接 TCP的基础 ...

随机推荐

  1. 时序列数据库武斗大会之 OpenTSDB 篇

    [编者按] 刘斌,OneAPM后端研发工程师,拥有10多年编程经验,参与过大型金融.通信以及Android手机操作系的开发,熟悉Linux及后台开发技术.曾参与翻译过<第一本Docker书> ...

  2. Java 延时常见的几种方法

    1. 用Thread就不会iu无法终止 new Thread(new Runnable() { public void run() { while (true) { test(); try { Thr ...

  3. POJ 3180

    The Cow Prom Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1132   Accepted: 713 Descr ...

  4. Integral类型的跨平台使用

    fundamental integral types or extended integral types 我们先通过下图,来了解可以跨平台使用的整数类型: 之所以我们需要以上各种明确指定宽度的int ...

  5. 凌乱的yyy

    题目背景 快noip了,yyy很紧张! 题目描述 现在各大oj上有n个比赛,每个比赛的开始.结束的时间点是知道的. yyy认为,参加越多的比赛,noip就能考的越好(假的) 所以,他想知道他最多能参加 ...

  6. Linux文件查找命令find,xargs详述

    目录: 一.find 命令格式 1.find命令的一般形式为: 2.find命令的参数: 3.find命令选项: 4.使用exec或ok来执行shell命令: 二.find命令的例子: 1.查找当前用 ...

  7. 《jQuery风暴》第2章 必须知道的JavaScript知识

    第2章 必须知道的JavaScript知识 JavaScript是jQuery应用的基础,掌握JavaScript这门语言是使用jQuery的基础条件.本章不会全面细致的讲解JavaScript的全部 ...

  8. 在编辑框(CEdit)控件上追加内容

    版权声明:本文为博主原创文章,未经博主允许不得转载. // MFC 版本 CEdit* pEdit = GetDlgItem(IDC_EDIT1); ASSERT(pEdit && p ...

  9. jd-gui 反编译后去除注释

    默认情况下,使用jd-gui反编译时会有注释. 行号注释 /* 521:502 */ 元信息 /* Location:           D:\core-1.0.0.jar * Qualified ...

  10. 295. Find Median from Data Stream

    题目: Median is the middle value in an ordered integer list. If the size of the list is even, there is ...