eoLinker-API Shop 狗狗大全 Java调用示例代码
狗狗大全
获取狗狗相关信息,包括品种介绍、产地、性格、寿命、价格等信息,带图片。 该产品拥有以下APIs: 1. 获取狗狗列表 2. 关键字查询狗 3. 获取狗狗详细信息
注意,该示例代码仅适用于 www.apishop.net 网站下API 使用该产品前,您需要通过 https://www.apishop.net/#/api/detail/?productID=192 申请API服务
1.获取狗狗列表
package net.apishop.www.controller;
import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream;
import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection;
import java.net.MalformedURLException; import java.net.URL;
import java.net.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 requestMethod, Map
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), \8\
parameters += key + \ hasParams = true; }
if (hasParams) {
parameters = parameters.substring(0, parameters.length() - 1);
}
// 请求方式是否为get
boolean isGet = \ // 请求方式是否为post
boolean isPost = \ if (isGet) {
url += \ }
URL u = new URL(url);
HttpURLConnection conn = (HttpURLConnection) u.openConnection();
// 请求的参数类型(使用restlet框架时,为了兼容框架,必须设置Content-Type为“”空)
conn.setRequestProperty(\stream\
// conn.setRequestProperty(\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.getOutputStream());
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 = \deByAddr\
String requestMethod = \
Map
params.put(\需要从www.apishop.net获取