eoLinker-API_Shop_狗狗大全_API接口_Java调用示例代码 下载本文

内容发布更新时间 : 2024/5/20 18:53:47星期一 下面是文章的全部内容请认真阅读。

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 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), \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 = new HashMap();

params.put(\需要从www.apishop.net获取