eoLinker-API_Shop_猫咪大全_API接口_Java调用示例代码

eoLinker-API_Shop_猫咪大全_API接口_Java调用示例代码
eoLinker-API_Shop_猫咪大全_API接口_Java调用示例代码

eoLinker-API Shop 猫咪大全 Java调用示例代码

猫咪大全

可查询猫咪相关信息,包括品种介绍、产地、性格、寿命、价格等信息,带图片。

该产品拥有以下APIs:

1.关键字获取猫类

2.获取猫类列表

3.获取猫类详细信息

注意,该示例代码仅适用于https://www.360docs.net/doc/193809334.html,网站下API使用该产品前,您需要通过https://https://www.360docs.net/doc/193809334.html,/#/api/detail/?productID=193申请API服务

1.关键字获取猫类

package net.apishop.www.controller;

import java.io.DataOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.UnsupportedEncodingException;

import https://www.360docs.net/doc/193809334.html,.HttpURLConnection;

import https://www.360docs.net/doc/193809334.html,.MalformedURLException;

import https://www.360docs.net/doc/193809334.html,.URL;

import https://www.360docs.net/doc/193809334.html,.URLEncoder;

import java.util.HashMap;

import java.util.Map;

import com.alibaba.fastjson.JSONObject;

/**

* httpUrlConnection访问远程接口工具

*/

public class Api

{

/**

* 方法体说明:向远程接口发起请求,返回字节流类型结果

* param url 接口地址

* param requestMethod 请求方式

* param params 传递参数重点:参数值需要用Base64进行转码

* return InputStream 返回结果

*/

public static InputStream httpRequestToStream(String url, String re questMethod, Map params)

{

InputStream is = null;

try

{

String parameters = "";

boolean hasParams = false;

// 将参数集合拼接成特定格式,如name=zhangsan&age=24

for (String key : params.keySet())

{

String value = URLEncoder.encode(params.get(key), "UTF-8");

parameters += key + "=" + value + "&";

hasParams = true;

}

if (hasParams)

{

parameters = parameters.substring(0, parameters.length() - 1);

}

// 请求方式是否为get

boolean isGet = "get".equalsIgnoreCase(requestMethod);

// 请求方式是否为post

boolean isPost = "post".equalsIgnoreCase(requestMethod);

if (isGet)

{

url += "?" + parameters;

}

URL u = new URL(url);

HttpURLConnection conn = (HttpURLConnection) u.openConnecti on();

// 请求的参数类型(使用restlet框架时,为了兼容框架,必须设置Con tent-Type为“”空)

conn.setRequestProperty("Content-Type", "application/octet-stream");

// conn.setRequestProperty("Content-Type", "application/x-w ww-form-urlencoded");

// 设置连接超时时间

conn.setConnectTimeout(50000);

// 设置读取返回内容超时时间

conn.setReadTimeout(50000);

// 设置向HttpURLConnection对象中输出,因为post方式将请求参数放在http正文内,因此需要设置为ture,默认false

if (isPost)

{

conn.setDoOutput(true);

}

// 设置从HttpURLConnection对象读入,默认为true

conn.setDoInput(true);

// 设置是否使用缓存,post方式不能使用缓存

if (isPost)

{

conn.setUseCaches(false);

}

// 设置请求方式,默认为GET

conn.setRequestMethod(requestMethod);

// post方式需要将传递的参数输出到conn对象中

if (isPost)

{

DataOutputStream dos = new DataOutputStream(conn.getOut putStream());

dos.writeBytes(parameters);

dos.flush();

dos.close();

}

// 从HttpURLConnection对象中读取响应的消息

// 执行该语句时才正式发起请求

is = conn.getInputStream();

}

catch(UnsupportedEncodingException e)

{

e.printStackTrace();

}

catch(MalformedURLException e)

{

e.printStackTrace();

}

catch(IOException e)

{

e.printStackTrace();

}

return is;

}

public static void main(String args[])

{

String url = "https://https://www.360docs.net/doc/193809334.html,/common/postcode/getPostCo deByAddr";

String requestMethod = "POST";

Map params = new HashMap(); params.put("apiKey","your_api_key"); //需要从https://www.360docs.net/doc/193809334.html,获取

params.put("page", ""); //页码(默认为1)

params.put("pageSize", ""); //当前页面猫咪数目(默认为30)

params.put("keyword", ""); //关键字

String result = null;

try

{

InputStream is = httpRequestToStream(url, requestMethod, pa rams);

byte[] b = new byte[is.available()];

is.read(b);

result = new String(b);

}

catch(IOException e)

{

e.printStackTrace();

}

if (result != null)

{

JSONObject jsonObject = JSONObject.parseObject(result);

String status_code = jsonObject.getString("statusCode");

if (status_code == "000000")

{

// 状态码为000000, 说明请求成功

System.out.println("请求成功:" + jsonObject.getString("resu lt"));

}

else

{

// 状态码非000000, 说明请求失败

System.out.println("请求失败:" + jsonObject.getString("desc "));

}

}

else

{

// 返回内容异常,发送请求失败,以下可根据业务逻辑自行修改

System.out.println("发送请求失败");

}

}

}

2.获取猫类列表

package net.apishop.www.controller;

import java.io.DataOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.UnsupportedEncodingException;

import https://www.360docs.net/doc/193809334.html,.HttpURLConnection;

import https://www.360docs.net/doc/193809334.html,.MalformedURLException;

import https://www.360docs.net/doc/193809334.html,.URL;

import https://www.360docs.net/doc/193809334.html,.URLEncoder;

import java.util.HashMap;

import java.util.Map;

import com.alibaba.fastjson.JSONObject;

/**

* httpUrlConnection访问远程接口工具

*/

public class Api

{

/**

* 方法体说明:向远程接口发起请求,返回字节流类型结果

* param url 接口地址

* param requestMethod 请求方式

* param params 传递参数重点:参数值需要用Base64进行转码

* return InputStream 返回结果

*/

public static InputStream httpRequestToStream(String url, String re questMethod, Map params)

{

InputStream is = null;

try

{

String parameters = "";

boolean hasParams = false;

// 将参数集合拼接成特定格式,如name=zhangsan&age=24

for (String key : params.keySet())

{

String value = URLEncoder.encode(params.get(key), "UTF-8");

parameters += key + "=" + value + "&";

hasParams = true;

}

if (hasParams)

{

parameters = parameters.substring(0, parameters.length() - 1);

}

// 请求方式是否为get

boolean isGet = "get".equalsIgnoreCase(requestMethod);

// 请求方式是否为post

boolean isPost = "post".equalsIgnoreCase(requestMethod);

if (isGet)

{

url += "?" + parameters;

}

URL u = new URL(url);

HttpURLConnection conn = (HttpURLConnection) u.openConnecti on();

// 请求的参数类型(使用restlet框架时,为了兼容框架,必须设置Con tent-Type为“”空)

conn.setRequestProperty("Content-Type", "application/octet-stream");

// conn.setRequestProperty("Content-Type", "application/x-w ww-form-urlencoded");

// 设置连接超时时间

conn.setConnectTimeout(50000);

// 设置读取返回内容超时时间

conn.setReadTimeout(50000);

// 设置向HttpURLConnection对象中输出,因为post方式将请求参数放在http正文内,因此需要设置为ture,默认false

if (isPost)

{

conn.setDoOutput(true);

}

// 设置从HttpURLConnection对象读入,默认为true

conn.setDoInput(true);

// 设置是否使用缓存,post方式不能使用缓存

if (isPost)

{

conn.setUseCaches(false);

}

// 设置请求方式,默认为GET

conn.setRequestMethod(requestMethod);

// post方式需要将传递的参数输出到conn对象中

if (isPost)

{

DataOutputStream dos = new DataOutputStream(conn.getOut putStream());

dos.writeBytes(parameters);

dos.flush();

dos.close();

}

// 从HttpURLConnection对象中读取响应的消息

// 执行该语句时才正式发起请求

is = conn.getInputStream();

}

catch(UnsupportedEncodingException e)

{

e.printStackTrace();

}

catch(MalformedURLException e)

{

e.printStackTrace();

}

catch(IOException e)

{

e.printStackTrace();

}

return is;

}

public static void main(String args[])

{

String url = "https://https://www.360docs.net/doc/193809334.html,/common/postcode/getPostCo deByAddr";

String requestMethod = "POST";

Map params = new HashMap(); params.put("apiKey","your_api_key"); //需要从https://www.360docs.net/doc/193809334.html,获

params.put("page", ""); //页码(默认为1)

params.put("pageSize", ""); //当前页面猫咪数目(默认为30)

String result = null;

try

{

InputStream is = httpRequestToStream(url, requestMethod, pa rams);

byte[] b = new byte[is.available()];

is.read(b);

result = new String(b);

}

catch(IOException e)

{

e.printStackTrace();

}

if (result != null)

{

JSONObject jsonObject = JSONObject.parseObject(result);

String status_code = jsonObject.getString("statusCode");

if (status_code == "000000")

{

// 状态码为000000, 说明请求成功

System.out.println("请求成功:" + jsonObject.getString("resu lt"));

}

else

{

// 状态码非000000, 说明请求失败

System.out.println("请求失败:" + jsonObject.getString("desc "));

}

}

else

{

// 返回内容异常,发送请求失败,以下可根据业务逻辑自行修改

System.out.println("发送请求失败");

}

}

}

3.获取猫类详细信息

package net.apishop.www.controller;

import java.io.DataOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.UnsupportedEncodingException;

import https://www.360docs.net/doc/193809334.html,.HttpURLConnection;

import https://www.360docs.net/doc/193809334.html,.MalformedURLException;

import https://www.360docs.net/doc/193809334.html,.URL;

import https://www.360docs.net/doc/193809334.html,.URLEncoder;

import java.util.HashMap;

import java.util.Map;

import com.alibaba.fastjson.JSONObject;

/**

* httpUrlConnection访问远程接口工具

*/

public class Api

{

/**

* 方法体说明:向远程接口发起请求,返回字节流类型结果

* param url 接口地址

* param requestMethod 请求方式

* param params 传递参数重点:参数值需要用Base64进行转码

* return InputStream 返回结果

*/

public static InputStream httpRequestToStream(String url, String re questMethod, Map params)

{

InputStream is = null;

try

{

String parameters = "";

boolean hasParams = false;

// 将参数集合拼接成特定格式,如name=zhangsan&age=24

for (String key : params.keySet())

{

String value = URLEncoder.encode(params.get(key), "UTF-8");

parameters += key + "=" + value + "&";

hasParams = true;

}

if (hasParams)

{

parameters = parameters.substring(0, parameters.length() - 1);

}

// 请求方式是否为get

boolean isGet = "get".equalsIgnoreCase(requestMethod);

// 请求方式是否为post

boolean isPost = "post".equalsIgnoreCase(requestMethod);

if (isGet)

{

url += "?" + parameters;

}

URL u = new URL(url);

HttpURLConnection conn = (HttpURLConnection) u.openConnecti on();

// 请求的参数类型(使用restlet框架时,为了兼容框架,必须设置Con tent-Type为“”空)

conn.setRequestProperty("Content-Type", "application/octet-stream");

// conn.setRequestProperty("Content-Type", "application/x-w ww-form-urlencoded");

// 设置连接超时时间

conn.setConnectTimeout(50000);

// 设置读取返回内容超时时间

conn.setReadTimeout(50000);

// 设置向HttpURLConnection对象中输出,因为post方式将请求参数放在http正文内,因此需要设置为ture,默认false

if (isPost)

{

conn.setDoOutput(true);

}

// 设置从HttpURLConnection对象读入,默认为true

conn.setDoInput(true);

// 设置是否使用缓存,post方式不能使用缓存

if (isPost)

{

conn.setUseCaches(false);

}

// 设置请求方式,默认为GET

conn.setRequestMethod(requestMethod);

// post方式需要将传递的参数输出到conn对象中

if (isPost)

{

DataOutputStream dos = new DataOutputStream(conn.getOut putStream());

dos.writeBytes(parameters);

dos.flush();

dos.close();

}

// 从HttpURLConnection对象中读取响应的消息

// 执行该语句时才正式发起请求

is = conn.getInputStream();

}

catch(UnsupportedEncodingException e)

{

e.printStackTrace();

}

catch(MalformedURLException e)

{

e.printStackTrace();

}

catch(IOException e)

{

e.printStackTrace();

}

return is;

}

public static void main(String args[])

{

String url = "https://https://www.360docs.net/doc/193809334.html,/common/postcode/getPostCo deByAddr";

String requestMethod = "POST";

Map params = new HashMap(); params.put("apiKey","your_api_key"); //需要从https://www.360docs.net/doc/193809334.html,获取

params.put("petID", ""); //猫猫ID

String result = null;

try

{

InputStream is = httpRequestToStream(url, requestMethod, pa rams);

byte[] b = new byte[is.available()];

is.read(b);

result = new String(b);

}

catch(IOException e)

{

e.printStackTrace();

}

if (result != null)

{

JSONObject jsonObject = JSONObject.parseObject(result);

String status_code = jsonObject.getString("statusCode");

if (status_code == "000000")

{

// 状态码为000000, 说明请求成功

System.out.println("请求成功:" + jsonObject.getString("resu lt"));

}

else

{

// 状态码非000000, 说明请求失败

System.out.println("请求失败:" + jsonObject.getString("desc "));

}

}

else

{

// 返回内容异常,发送请求失败,以下可根据业务逻辑自行修改

System.out.println("发送请求失败");

}

}

}

eoLinker-API_Shop_猫咪大全_API接口_Java调用示例代码

eoLinker-API Shop 猫咪大全 Java调用示例代码 猫咪大全 可查询猫咪相关信息,包括品种介绍、产地、性格、寿命、价格等信息,带图片。 该产品拥有以下APIs: 1.关键字获取猫类 2.获取猫类列表 3.获取猫类详细信息 注意,该示例代码仅适用于https://www.360docs.net/doc/193809334.html,网站下API使用该产品前,您需要通过https://https://www.360docs.net/doc/193809334.html,/#/api/detail/?productID=193申请API服务 1.关键字获取猫类 package net.apishop.www.controller; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import https://www.360docs.net/doc/193809334.html,.HttpURLConnection; import https://www.360docs.net/doc/193809334.html,.MalformedURLException; import https://www.360docs.net/doc/193809334.html,.URL; import https://www.360docs.net/doc/193809334.html,.URLEncoder; import java.util.HashMap; import java.util.Map; import com.alibaba.fastjson.JSONObject; /** * httpUrlConnection访问远程接口工具 */ public class Api { /** * 方法体说明:向远程接口发起请求,返回字节流类型结果 * param url 接口地址 * param requestMethod 请求方式 * param params 传递参数重点:参数值需要用Base64进行转码 * return InputStream 返回结果 */ public static InputStream httpRequestToStream(String url, String re questMethod, Map params) {

API接口调用说明及示例(第四次修订)

产品/项目名称Product/Project Name 保密级别Confidentiality Level eYou邮件系统机密 产品/项目版本Product/Project Version 最后更新日期Last Update 81032014-09-12 eYou邮件系统V8接口文档 北京亿中邮信息技术有限公司 All Rights Reserved 版权所有侵权必究 仅供内部使用

Revision Record 修订记录

目录 1 API接口简介------------------------------------------------------------------------------------------------------- 3 2 API认证概述------------------------------------------------------------------------------------------------------- 4 认证方式的分类 --------------------------------------------------------------------------------------------- 4认证方式的选择 --------------------------------------------------------------------------------------------- 5认证原理 ------------------------------------------------------------------------------------------------------- 5 3 认证方法详解及示例-------------------------------------------------------------------------------------------- 5 OAuth ----------------------------------------------------------------------------------------------------------- 5 eYouAuth ------------------------------------------------------------------------------------------------------- 5 SSO API的eYouAuth认证方法:----------------------------------------------------------------- 5 Feed API的eYouAuth认证方法: --------------------------------------------------------------- 7 申请会话Token:------------------------------------------------------------------------------------- 8 4 API接口调用示例 ---------------------------------------------------------------------------------------------- 10 Feed API调用----------------------------------------------------------------------------------------- 10 资源概述 ---------------------------------------------------------------------------------------------- 10 以用户的增删改查为例,示例各种Feed API调用步骤--------------------------------- 11 5 附表 ---------------------------------------------------------------------------------------------------------------- 13 1 API接口简介 API指eYou邮件系统所提供的接口。 调用接口流程图:

WebApi系列~通过HttpClient来调用WebApi接口

回到目录 HttpClient是一个被封装好的类,主要用于Http的通讯,它在.net,java,oc中都有被实现,当然,我只会.net,所以,只讲.net中的HttpClient去调用Web Api的方法,基于api项目的特殊性,它需要有一个完全安全的环境,所以,你的api控制器看起来有点特别,只有5个方法,而且都是标准的http方法,我觉得这种设计很不错,很清晰,而且为了实现安全性,它不支持使用传统的表单数据,取而代之的是FromBody参数,它指拿HttpRequestMessage里参数,而不是所有的Request数据,这是基于安全方面的考虑。一Api接口参数的标准性 Get方式,可以有多个重载,有多个参数 POST方式,只能有一个参数,并且用[FromBody]约束,如果有多个参数,需要以对象的方式进行传递 Put方式,只能有两个参数,其中一个是通过Request.QueryString方式进行传递的,作为要更新对象的主键,别一个是[FromBody]字段,也是一个字段,如果多个字段需要把它封装成对象 标准接口如图 二调用方,参数的标准性 在客户端进行接口调用时,我们以网页端为例,看一下网页端进行ajax跨域请求的代码

Get方式 $.ajax({ url: "http://localhost:52824/api/register", type: "GET", success: function (data) { console.log("json:" + data); } }); Post方式 $.ajax({ url: "http://localhost:52824/api/register", type: "POST", data: { '': '1' },//这里键名称必须为空,多个参数请传对象,api端参数名必须为value success: function (data) { console.log("post:" + data); } }); 三在控制台中实现Get方式获取接口数据(只有异步实现) ///

/// HttpClient实现Get请求 /// static async void dooGet() { string url = "http://localhost:52824/api/register?id=1&leval=5"; //创建HttpClient(注意传入HttpClientHandler) var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip }; using (var http = new HttpClient(handler)) { //await异步等待回应 var response = await http.GetAsync(url);

java发送http的get、post请求

package wzh.Http; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import https://www.360docs.net/doc/193809334.html,.URL; import https://www.360docs.net/doc/193809334.html,.URLConnection; import java.util.List; import java.util.Map; public class HttpRequest { /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param param * 请求参数,请求参数应该是name1=value1&name2=value2 的形式。 * @return URL 所代表远程资源的响应结果 */ public static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map> map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(

API接口调用要求

1.客户登录验证和信息获取:VerifyCustomerValid 输入:客户用户名(member_name) 、密码(member_password)、邮箱(comm_email)、手机(mobile_phonel),返回:1-成功;0-失败,信息内容:客户的种子、名称、种类、地址、电话、手机、邮箱、积分等相关自定义启用的息。 例子程序: http://localhost:8888/crm/apidemo/customer/VerifyCustomerValid.htm is_success 1 成功0 失败!返回那些字段请参考用户自定义界面。 客户具体字段信息请参考客户附录 2.客户注册登记:RegisterCustomer 输入:客户相关字段信息、客户类型(公共客户:默认、潜在客户、渠道客户。。。。。),结果:将客户的相关注册信息在CRM中做登记,并返回:1-成功,0-失败,失败原因例子程序:http:// localhost:8888/crm/apidemo/customer/RegisterCustomer.htm 客户具体字段信息请参考客户附录 3.客户信息唯一性检查:VerifyCustomerUnique 输入:可按客户用户名(member_name)、邮箱(comm_email)、手机(mobile_phonel) 输出:如果已存在,返回:1;如果不存在,返回:0:例子程序: http://localhost:8888/crm/apidemo/customer/VerifyCustomerUnique.htm is_success 存在1 , 不存在0! 客户具体字段信息请参考客户附录 4.客户下单:SubmitOrder 输入:订单的明细(产品名称、数量、单价、金额等),订单金额、客户名称、及订单其它字段; 例子程序:http:// localhost:8888/crm/ apidemo / order/SubmitOrder.htm 1成功,-1 找不到客户,-2产品信息出错,找不到产品。-3 新增订单时失败!(可能是某些字段过长或者查看CRM系统日志) 5.订单查询:InquireOrder 输入:客户编号或客户种子、客户名称,订单时间范围,订单主题,订单号 输出:客户订单列表 例子程序:http://localhost:8888/crm/apidemo/order/InqueryOrder.htm 6.订单明细查询:InquireOrderDetail 输入:订单种子、订单编号 输出:订单产品明细列表 例子程序:http://localhost:8888/crm/apidemo/order/InqueryOrderDetail.htm 7.产品列表查询:InquireProduct

基于JAVA的新闻数据接口调用代码实例

基于JA V A的新闻数据接口调用代码实例 代码描述:基于JA V A的新闻数据接口调用代码实例 代码平台:聚合数据 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import https://www.360docs.net/doc/193809334.html,.HttpURLConnection; import https://www.360docs.net/doc/193809334.html,.URL; import https://www.360docs.net/doc/193809334.html,.URLEncoder; import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; /** *新闻调用示例代码-聚合数据 *在线接口文档:https://www.360docs.net/doc/193809334.html,/docs/138 **/ public class JuheDemo { public static final String DEF_CHATSET = "UTF-8"; public static final int DEF_CONN_TIMEOUT = 30000; public static final int DEF_READ_TIMEOUT = 30000; public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) Appl eWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36"; //配置您申请的KEY public static final String APPKEY ="*************************"; //1.新闻检索 public static void getRequest1(){ String result =null; String url ="https://www.360docs.net/doc/193809334.html,/onebox/news/query";//请求接口地址 Map params = new HashMap();//请求参数 params.put("q","");//需要检索的关键字,请UTF8 URLENCODE params.put("key",APPKEY);//应用APPKEY(应用详细页查询)

基于C#的免费新闻api接口调用代码实例

基于C#的免费新闻api接口调用代码实例 代码描述:基于C#的免费新闻api接口调用代码实例 代码平台:聚合数据 using System; using System.Collections.Generic; using System.Linq; using System.Text; using https://www.360docs.net/doc/193809334.html,; using System.IO; using https://www.360docs.net/doc/193809334.html,; using System.Diagnostics; using System.Web; //---------------------------------- // 新闻调用示例代码-聚合数据 // 在线接口文档:https://www.360docs.net/doc/193809334.html,/docs/138 // 代码中JsonObject类下载地址:https://www.360docs.net/doc/193809334.html,/download/gcm32060 21155665/7458439 //---------------------------------- namespace ConsoleAPI { class Program { static void Main(string[] args) { string appkey = "*******************"; //配置您申请的appkey //1.新闻检索 string url1 = "https://www.360docs.net/doc/193809334.html,/onebox/news/query"; var parameters1 = new Dictionary(); parameters1.Add("q", ""); //需要检索的关键字,请UTF8 URLENCOD E parameters1.Add("key", appkey);//你申请的key

Java实现发送Http请求

Java实现发送Http请求 JDK中提供了一些对无状态协议请求(HTTP)的支持: 首先让我们先构建一个请求类(HttpRequester)。 该类封装了JAVA实现简单请求的代码,如下: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import https://www.360docs.net/doc/193809334.html,.HttpURLConnection; import https://www.360docs.net/doc/193809334.html,.URL; import java.nio.charset.Charset; import java.util.Map; import java.util.Vector; /** * HTTP请求对象 * * @author YYmmiinngg */ public class HttpRequester { private String defaultContentEncoding; public HttpRequester() { this.defaultContentEncoding = Charset.defaultCharset().name(); }

/** * 发送GET请求 * * @param urlString * URL地址 * @return 响应对象 * @throws IOException */ public HttpRespons sendGet(String urlString) throws IOException { return this.send(urlString, "GET", null, null); } /** * 发送GET请求 * * @param urlString * URL地址 * @param params * 参数集合 * @return 响应对象 * @throws IOException

API接口文档

API接口文档 最后更新日期:2013-05-16 一、添加域名接口 (6) 1、接口调用地址 (6) 2、传入参数 (6) 3、输出数据 (6) 二、删除域名接口 (7) 1、接口调用地址 (7) 2、传入参数 (7) 3、输出数据 (7) 三、添加用户接口 (8) 1、接口调用地址 (8) 2、传入参数 (8) 3、输出数据 (8) 四、获取用户信息接口 (9) 1、接口调用地址 (9) 2、传入参数 (9) 3、输出数据 (9) 五、搜索用户接口 (10) 1、接口调用地址 (10) 2、传入参数 (10) 3、输出数据 (10) 六、修改用户接口 (11) 1、接口调用地址 (11) 2、传入参数 (11) 3、输出数据 (12) 七、删除用户接口 (13) 1、接口调用地址 (13) 2、传入参数 (13) 3、输出数据 (13) 八、获取邮箱别名接口 (14) 1、接口调用地址 (14) 2、传入参数 (14) 3、输出数据 (14) 九、获取部门列表接口 (15) 1、接口调用地址 (15) 2、传入参数 (15) 3、输出数据 (15) 十、添加部门接口 (17) 1、接口调用地址 (17)

3、输出数据 (17) 十一、修改部门接口 (18) 1、接口调用地址 (18) 2、传入参数 (18) 3、输出数据 (18) 十二、删除部门接口 (19) 1、接口调用地址 (19) 2、传入参数 (19) 3、输出数据 (19) 十三、获取部门成员接口 (20) 1、接口调用地址 (20) 2、传入参数 (20) 3、输出数据 (20) 十四、添加部门成员接口 (21) 1、接口调用地址 (21) 2、传入参数 (21) 3、输出数据 (21) 十五、删除部门成员接口 (22) 1、接口调用地址 (22) 2、传入参数 (22) 3、输出数据 (22) 十六、添加别名接口 (23) 1、接口调用地址 (23) 2、传入参数 (23) 3、输出数据 (23) 十七、修改别名接口 (24) 1、接口调用地址 (24) 2、传入参数 (24) 3、输出数据 (24) 十八、删除别名接口 (25) 1、接口调用地址 (25) 2、传入参数 (25) 3、输出数据 (25) 十九、获取POP接收邮件接口 (26) 1、接口调用地址 (26) 2、传入参数 (26) 3、输出数据 (26) 二十、添加POP接收邮件接口 (27) 1、接口调用地址 (27) 2、传入参数 (27) 3、输出数据 (27) 二十一、修改POP接收邮件接口 (28) 1、接口调用地址 (28)

基于JAVA的健康新闻接口调用代码实例

基于JAVA的健康新闻接口调用代码实例 代码描述:基于JA V A的健康新闻接口调用代码实例 代码平台:聚合数据 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import https://www.360docs.net/doc/193809334.html,.HttpURLConnection; import https://www.360docs.net/doc/193809334.html,.URL; import https://www.360docs.net/doc/193809334.html,.URLEncoder; import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; /** *健康资讯调用示例代码-聚合数据 *在线接口文档:https://www.360docs.net/doc/193809334.html,/docs/145 **/ public class JuheDemo { public static final String DEF_CHATSET = "UTF-8"; public static final int DEF_CONN_TIMEOUT = 30000; public static final int DEF_READ_TIMEOUT = 30000; public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) Appl eWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36"; //配置您申请的KEY public static final String APPKEY ="*************************"; //1.资讯分类列表 public static void getRequest1(){ String result =null; String url ="https://www.360docs.net/doc/193809334.html,/yi18/news/newsclass";//请求接口地址

Place API http接口使用说明

PlaceAPI http 接口使用说明 1.1 Place API http 接口简介 Place API http 接口(以下简称http 接口)是一个供程序员调用的、http 形式的地图检索服务接口,且只向百度合作伙伴开放。 目前http 接口提供的功能包括:矩形区域关键字检索、周边区域关键字检索(也称:圆形区域检索)和城市内关键字检索。http 接口主要服务那些非网页程序的调用,例如:C# 、C++、Java 等开发的应用程序,这些开发语言都能发送http 请求且能接收返回数据。http 接口可以返回xml 和json 两种不同形式的的地理数据。 目前提供的功能不是很多、以后随着用户需求的收集和总结,会不断完善http 接口。 1.2 Place API http 接口使用说明 http 接口使用分为3个步骤:第一步,申请注册key ;第二步,拼写http 请求发送的url ,url 中附带上第一步申请的key 值;第三步,接收http 请求返回的数据(json 或xml 格式),如下图示意: 1.2.1申请注册key 说明 用户打开https://www.360docs.net/doc/193809334.html,/wiki/static/mapws/placeapikey/页面,在此页面中申请注册key 值。该key 主要目的是判断用户请求的url 是否合法,且限制用户1天发送的http 请求数不能超过1000次。注册页面如下图:

填写好信息后,点击生成API密钥按钮就获取到所需的key值了,申请的key值和应用程序名称相关联,既相同的应用程序名称返回的key值是一样的。 特别注意:申请key之前会提示用户首先注册百度账号,只有拥有了百度账号,才能顺利的申请key值。 1.2.2 http接口请求参数说明 http接口请求参数主要包括:检索关键字、检索区域(3种选择形式)、输出结果类型(xml或json),如下表:

Java网络编程(三)HttpUrlConnection与HttpClient详解(雷惊风)

HttpUrlConnection与HttpClient详解 一.概念。 在Android开发中,AndroidSDK中对HTTP提供了很好的支持,主要包括两种接口。 1.一个是Sun公司提供的库,基于标准Java接口的 HttpURLConnection,这个类封装的很少,如果使用高级功 能,如重访问/Cookie/Session等就相当不方便。它可以实现 简单的基于URL的请求与相应功能。Google在Android Api23及以后的版本中推荐使用HttpURLConnention,在后 续版本中逐渐对其进行优化完善。在2.2版本以前,一直存 在着一些bug。比如对一个可读的InputStream调用close 方法时,可能会导致连接池失效。通常我们会禁用连接池功 能。 2.另一个是Apache公司提供的的HttpClient,它提供了高效的, 最新的功能丰富的api,支持Http协议工具包,支持HTTP 最新版本和建议,是个很好的开源框架,封装了http的请求, 参数,内容体,响应等,拥有众多API,但同时HttpClient 的API数量太多,如果不破坏兼容性的情况下想对他进行扩 展很麻烦。在API 23 SDK将其去掉了。建议使用 HttpURLConnection。 以上两种联网方式都支持HTTPS协议、以流的形式进行传输、 IPv6、配置超时时间、以及连接池等功能。

二.区别。 1.功能上,HttpClient库要丰富很多,提供了很多工具,封装了http 的请求头,参数,内容体,响应,还有一些高级功能,代理、COOKIE、鉴权、压缩、连接池的处理。 2.H ttpClient高级功能代码写起来比较复杂,对开发人员的要求会高 一些,而HttpURLConnection对大部分工作进行了包装,屏蔽了不需要的细节,适合开发人员直接调用。 3.HttpURLConnection在2.3版本增加了一些HTTPS方面的改进, 4.0版本增加一些响应的缓存。 4.HttpUrlConnection直接支持GZIP压缩;HttpClient也支持,但 要自己写代码处理。 5.HttpUrlConnection直接支持系统级连接池,即打开的连接不会直 接关闭,在一段时间内所有程序可共用;HttpClient当然也能做到,但毕竟不如官方直接系统底层支持好。 6.HttpUrlConnection直接在系统层面做了缓存策略处理(4.0版本 以上),加快了重复请求的速度。 7.HttpClient 适用于web browsers, 他们是可扩展的,并且拥有大 量的稳定APIs。但是,在不破坏其兼容性的前提下很难对如此多的APIs做修改。因此,Android 团队对修改优化Apache HTTP Client表现的并不积极。

java,http协议,接口

竭诚为您提供优质文档/双击可除java,http协议,接口 篇一:http接口 2.客户端:通过httpinvoker代理向服务器端发送请求,远程调用服务接口的方法 3.服务器端与客户端通信的数据需要序列化 配置服务器端和客户端的步骤 配置服务器端 1.添加springjaR文件 建议使用spring2+.jar版本 2.创建服务接口 3.创建服务接口的具体实现类 4.公开服务 配置客户端 1.添加springjaR文件 建议使用spring2+.jar版本 2.创建服务接口 3.访问服务 实例讲解

服务器端 1.服务接口:ucservice.java 它提供两项服务,查询用户信息和记录日志,如下: publicinterfaceucservice{ publicuserinfogetuserinfobyname(stringusername); publicintrecordlog(stringusername,stringpoint,strin goperate,stringdesc);} 说明:举这个列子是因为其比较有代表性,它将展示普通数据类型(int,long等)和复杂数据类型(dto等)的远程调用方式。userinfo是一个普通的dto,代码如下:publicclassuserinfoimplementsserializable{ privatestaticfinallongserialVersionuid=-69709675067 12260305l; /**用户名*/ privatestringusername; /**电子邮箱*/ privatestringemail; /**注册日期*/ privatedateregistdate; publicstringgetusername(){

博客园API使用说明接口文档

卷号 卷内编号 密级 项目编号: 空指针播放器 错误!未指定书签。 Version: 1.0 项目承担部门:0015 撰写人(签名): xxx 完成日期: 2014-2-24 本文档使用部门:□主管领导■项目组 □客户(市场)■维护人员□用户评审负责人(签名): 评审日期:

目录 项目承担部门:0015 (1) 撰写人(签名): xxx (1) 评审负责人(签名): (1) 1.获取推荐信息 (3) 1.1 获取推荐电影信息 (3) 1.2 获取推荐电视剧信息............................................................ 错误!未定义书签。 1.3 获取推荐动漫信息 (4) 2.获取频道接口信息 (6) 2.1 获取电影列表 (6) 2.2 获取电视剧列表 (8) 2.3 获取动漫列表 (10) 2.4 获取综艺列表 (11) 2.5 获取电影列表 (12) 2.6 获取纪录片列表............................................................ 错误!未定义书签。 3.获取用户信息 (6) 3.1 获取登陆信息 (6) 3.2 获取注册信息 (20)

1.获取推荐信息 1.1 获取推荐电影列表 URL http://192.168.1.101:8080/NullPointerService/servlet/InitDataS ervlet 支持格式 json HTTP请求方式 Get 请求参数 无 返回结果 [{"Title":"ddd","SourceName":"Cnbeta","SubmitDate":"2012-3-3","Content":"Hello","Imag eUrl":"","PrevNews":"11242","NextNews":"11190","CommentCount":"20"},{"Title":"ddd"," SourceName":"Cnbeta","SubmitDate":"2012-3-3","Content":"Hello","ImageUrl":"","PrevNe ws":"11242","NextNews":"11190","CommentCount":"20"},{"Title":"ddd","SourceName":" Cnbeta","SubmitDate":"2012-3-3","Content":"Hello","ImageUrl":"","PrevNews":"11242","N extNews":"11190","CommentCount":"20"},{"Title":"ddd","SourceName":"Cnbeta","Submit Date":"2012-3-3","Content":"Hello","ImageUrl":"","PrevNews":"11242","NextNews":"1119 0","CommentCount":"20"},{"Title":"ddd","SourceName":"Cnbeta","SubmitDate":"2012-3-3","Content":"Hello","ImageUrl":"","PrevNews":"11242","NextNews":"11190","CommentCo unt":"20"}] 返回结果说明 无

Java httpclient解决方案中的中文传递

Java httpclient解决方案中的中文传递(2009-03-05 17:21:33) 标签:杂谈 1 Commons HttpClient 开源项目简介 Http 协议是一种应用十分广泛的网络应用层协议。在Java 网络编程中我们会经常碰到Http 协议编程, 虽然JDK 提供了 HttpURLConnection 编程接口对Http 协议进行支持, 但是由于协议应用本身 的复杂性, 使得在大量实际项目单纯使用JDK 进行Http编程仍然相对比较困难。针对这种情况, 开源软件组织Apach 推出了HttpClient 开源组件, 并且提供稳定持续的升级版本, 因此在实际项目中采用HttpClient 组件进行Http 协议编程是一种高效经济的解决方案。 2 Commons HttpClient 中文环境下编程常见问题 由于HttpClient 组件设计的高度灵活性及易用性, 应用HttpClient 组件进行编程本身并不复杂。但是由于Java 编程环境自身容易出现字符编码问题, 衍生于Java 语言并主要由英语语系国家技术人员推出的HttpClient 组件自然在中文环境中会存在一定的编码问题, 同时由于部分Web 浏览器及Web 服务器并未严格实现标准Http 协议规范, 使得比较严格遵循标准Http 协议规范的 Http-Client 组件在与部分浏览器及服务器进行交互时会出现少量兼容性问题。笔者在中文环境下用HttpClinet 开发校外资源访问系统的过程中碰到系列HttpClient 技术问题, 经过测试查证找到相应的解决办法, 这对解决HttpClient 编程问题, 特别是中文环境下Http-Client 编程具有较大的借鉴 作用。( 注: 本文编程的HttpClient 组件版本为: Release 3.1 Beta 1) 3 Commons HttpClient 编程的典型问题及解决办法 3.1 URL 中文参数无法识别的问题 通常情况在Commons HttpClient 编程中我们用下列语句就可以向一个目标服务器提交一个Web 请求: HttpClient client=new HttpClient(); GetMethod method = new GetMethod (url);//本示例使用Get 方法, 当然也可使用Post 方法PostMethod method//=new PostMethod(url); client.executeMethod(method); InputStream receiver=method.getResponseBodyAsStream(); 如果URL 没有中文参数,以上语句执行起来没有任何问题,但是如果URL 中含有中文字符,中文参数将无法被Web 服务器识别, 程序虽然可以正常运行, 但却 无法得到正确结果。同时返回的Http 响应头, 如果含有中文字符也将出现乱码。分析源码发现, 这是HttpClient 中的HttpElementCharset 参数( 创建HTTP headers 的字符集) 的默认值为US- ASCII, ContentCharset 参数( 创建contentbody 的字符集) 的默认值为ISO- 8859- 1 的原故, 因此需要使用下列语句改变这些参数的默认值: client = new HttpClient(); params=client.getParams(); params.setHttpElementCharset("GBK"); params.setContentCharset("GBK"); 或者使用:

dataapi接口使用指南

目录 1 DATAAPI接口概述 (1) 2 DATAAPI接口技术说明 (1) 3 DATAAPI接口安装 (2) 4 DATAAPI接口函数详述 (2) 4.1C ONNECT (2) 4.2D ISCONNECT (4) 4.3D A TA Q UERY (4) 4.4D A TA C OUNT (8) 4.5D A TA A PPEND (9) 4.6D A TA U PDATE (12) 4.7D A TA D ELETE (13) 4.8I NFO Q UERY (14) 4.9I NFO U PDATE (16) 4.10G ET RTL OG (17) 5 附录 (20) 5.1附录1:接口文件的详细说明 (20) 5.2附录2:DEMO演示程序的安装、使用指南 (21) 5.3附录3:DA TAAPI接口函数出错说明一览 (23) 5.4附录4:DA TAAPI接口使用的数据表示、表、字段等一览 (24) 6 FAQ (32) 6.1编译VC下的D EMO及RT IME程序时,出现:“FA TAL ERROR C1083:C ANNOT OPEN INCLUDE FILE:'VLD.H':N O SUCH FILE OR DIRECTORY”连接错误: (32) 6.2编译J A VE D EMO下的COMMPROJA V A(VC DLL)工程时出现:“FA TAL ERROR C1083:C ANNOT OPEN INCLUDE FILE:'JNI.H':N O SUCH FILE OR DIRECTORY”连接错误: (32) 6.3使用彩屏机对一个用户表查询时:D A TA Q UERY(H,(CHAR *)BUF O UT,2*1024*1024, “U SER I NFO”,“*”,“PIN>6666”,“”),过滤条件为:“PIN>6666”,即准备查询考勤号大于6666的人员,为何下列记录会返回? (32) 6.4当使用GPRS、串口连接时,A PPEND很多指纹数据时非常慢,如何解决? (33) 6.5使用RS232、RS485、UDP连接失败? (33) 6.6使用RS232、RS485、UDP连接查询、追加操作时,经常返回-902错误? (34)

相关文档
最新文档