使用 HttpClient 进行 Post 方式通信
1.TestPost.java
package testhttpclient;
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.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;
public class TestPost {
public static void main(String[] args) {
//http://fanyi.youdao.com/openapi.do
//keyfrom=JKXY-test&key=343166845&type=data&doctype=xml&version=1.1&q=welcome
new Post().start();
}
}
class Post extends Thread{
//创建标准的httpClient
HttpClient client=HttpClients.createDefault();
@Override
public void run() {
HttpPost post=new HttpPost("http://fanyi.youdao.com/openapi.do");
try {
//keyfrom=JKXY-test&keyfrom=JKXY-test&key=343166845&type=data&doctype=xml&version=1.1&q=welcome
//BasicNameValuePair是存储键值对的类,当输入新的key和value值,一点添加,它会自动给装换成http的格式,=和&符号,我们都不用自己进行拼接和匹配了.
List<BasicNameValuePair> parameters=new ArrayList<>();
parameters.add(new BasicNameValuePair("keyfrom", "JKXY-test"));
parameters.add(new BasicNameValuePair("key", "343166845"));
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请求
post.setEntity(new UrlEncodedFormEntity(parameters,"UTF-8"));
//执行
HttpResponse response=client.execute(post);
//http实例化对象
HttpEntity entity=response.getEntity();
String result=EntityUtils.toString(entity, "UTF-8");
System.out.println(result);
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.运行截图
console控制台内容:
<?xml version="1.0" encoding="UTF-8"?>
<youdao-fanyi>
<errorCode>0</errorCode>
<query><![CDATA[welcome]]></query>
<!-- 有道翻译 -->
<translation>
<paragraph><![CDATA[欢迎]]></paragraph>
</translation>
<!-- 有道词典-基本词典 -->
<basic>
<!-- 音标 -->
<phonetic><![CDATA[ˈwelkəm]]></phonetic>
<!-- 美式音标 -->
<us-phonetic><![CDATA[ˈwelkəm]]></us-phonetic>
<!-- 英式音标 -->
<uk-phonetic><![CDATA[ˈwelkəm]]></uk-phonetic>
<!-- 基本释义 -->
<explains>
<ex><![CDATA[adj. 受欢迎的;令人愉快的;可随意的;尽管……好了]]></ex>
<ex><![CDATA[n. 欢迎;迎接;接受]]></ex>
<ex><![CDATA[v. 欢迎,迎接;迎新;乐于接受]]></ex>
<ex><![CDATA[int. 欢迎]]></ex>
<ex><![CDATA[n. (Welcome) (美、印)韦尔科姆(人名)]]></ex>
</explains>
</basic>
<!-- 有道词典-网络释义 -->
<web>
<explain>
<key><![CDATA[Welcome]]></key>
<value>
<ex><![CDATA[欢迎]]></ex>
<ex><![CDATA[受欢迎的]]></ex>
<ex><![CDATA[欢迎光临]]></ex>
</value>
</explain>
<explain>
<key><![CDATA[welcome to]]></key>
<value>
<ex><![CDATA[欢迎到来]]></ex>
<ex><![CDATA[欢迎参加]]></ex>
<ex><![CDATA[欢迎到]]></ex>
</value>
</explain>
<explain>
<key><![CDATA[Welcome aboard]]></key>
<value>
<ex><![CDATA[欢迎登机]]></ex>
<ex><![CDATA[欢迎加入]]></ex>
<ex><![CDATA[请上船]]></ex>
</value>
</explain>
</web>
</youdao-fanyi>
使用 HttpClient 进行 Post 方式通信的更多相关文章
- 使用HttpClient进行Get方式通信
下载apache包 http://hc.apache.org/downloads.cgi 比较eclipse自带api,简单,易上手 实例: package zw1; import java.io.I ...
- 使用HttpClient进行Get方式通信(使用HttpGet获取网页数据)
1.项目结构 导入jar包 jar包去官网下载解压后项目新建lib目录,将解压包中的lib目录中的zip拷入项目lib目录文件夹,然后build path-->配置到项目中 2.TestGet. ...
- Asp.Net Core中HttpClient的使用方式
在.Net Core应用开发中,调用第三方接口也是常有的事情,HttpClient使用人数.使用频率算是最高的一种了,在.Net Core中,HttpClient的使用方式随着版本的升级也发生了一些变 ...
- 07_android入门_採用HttpClient的POST方式、GET方式分别实现登陆案例
1.简单介绍 HttpClient 是 Apache Jakarta Common 下的子项目,能够用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,而且它支持 HTTP 协议 ...
- HttpClient使用GET方式通过代理服务器读取页面的例子
import java.io.BufferedReader;import java.io.InputStreamReader;import org.apache.http.HttpEntity;imp ...
- HttpClient Get/Post方式调用Http接口
本节摘要:本节主要分别介绍如何用get方式.post方式向http接口发送数据. preparation 1. 项目环境如下: myeclipse6.5 .tomcat5.0.system:xp.JD ...
- 本地Git与GitHub服务器建立连接(SSH方式通信)
简介 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要 ...
- HttpClient通过Post方式发送Json数据
服务器用的是Springmvc,接口内容: @ResponseBody @RequestMapping(value="/order",method=RequestMethod.PO ...
- JAVA MQ API方式通信采用Binding MQ Server方式
package com.mqapi; /** * @modified by actorai E-mail:actorai@163.com * @version 创建时间:2010-9-15 * ...
随机推荐
- Pair(二进制处理+数位dp)(2019牛客暑期多校训练营(第七场))
示例: 输入: 33 4 24 5 27 8 5 输出:5 7 31 题意:存在多少对<x,y>满足x&y>C或x^y<C的条件.(0<x<=A,0< ...
- AS3中 is,as,typeof的区别
AS3中 is,as,typeof的区别 . var my_num:Number=9;trace(typeof my_num);var my_object:Array=["语文", ...
- SpringBoot项目启动不走内嵌容器
一.问题 springboot项目java -jar启动不走内嵌容器,如下图,可以看到是直接走系统环境变量里配置的tomcat容器了 二.分析 我的pom.xml文件关键依赖: <depende ...
- FastDFS安装指南
FastDFS安装指南 提前准备好的文件资料: 1.FastDFS--tracker安装 1.1 FastDFS安装环境 FastDFS是C语言开发,建议在linux上运行,本教程使用Centos7. ...
- Autofac在.NetCore 下的使用
在工作开发中很多地方都会使用到接口模式开发,这里就会用到依赖注入,.NetCore目前是自带的 ,在 Startup.cs中的 ConfigureServices方法中增加 public void C ...
- IdentityServer4实现Oauth2.0四种模式之隐藏模式
接上一篇:IdentityServer4实现OAuth2.0四种模式之密码模式,密码模式将用户的密码暴露给了客户端,这无疑是不安全的,隐藏模式可以解决这个问题,由用户自己在IdentityServ ...
- DIY一个Web框架
一.前言 二.框架结构及实现流程 三.总结 一.前言 当我们了解了Web应用和Web框架,以及HTTP协议的原理之后,我们可以自己动手DIY一个最简单的WEB框架,以加深对Web框架的理解,并为即将学 ...
- Linux下Java变量
一.JAVA_HOME.PATH.CLASSPATH详解 1.1.JAVA_HOME 指向jdk安装目录,该目录下有bin.lib目录.Eclipse/NetBeans/Tomcat等软件就是通过搜索 ...
- iOS - Base64转图片&&图片转Base64
记录一个小功能 app传base64位上去,服务器拿到后转图片保存,当app请求拿回用户图片时,服务器再把图片转base64字符串返回给app,app再转图片 // 64base字符串转图片 - (U ...
- ASPxClientGridView(客户端选择某一行的值的调用)