正能量新闻
万维易源 官方文档
社会正能量的新闻资讯,每天更新
基本说明:
接口地址:http://route.showapi.com/1670-1
返回格式:json
请求方式:get/post
请求示例:0
请求参数说明:
名称 类型 必填 说明
page String 选填 当前页码
返回参数说明:
名称 类型 说明
ret_code String 接口调用是否成功,0为成功,其他为失败
remark String 提示信息
id String
href String 原文路径
title String 标题
time String 创建时间
com String 来源
content String 内容
maxResult String 最大条数
allNum String 总数量
allPage String 总页数
currentPage String 当前页码
JSON返回示例:
{
	"showapi_res_code": 0,
	"showapi_res_error": "",
	"showapi_res_body": {
		"ret_code": "0",
		"remark": "查询成功!",
		"pagebean": {
			"contentlist": [{
				"href": "http://gongyi.qq.com/a/20180807/006934.htm",
				"title": "吸水的海绵城市能否不再上演“城中看海”",
				"time": "2018-08-07 09:00",
				"com": "科技日报",
				"content": "<img src='http://app2.showapi.com/img/publicwelfare_img/20180807/f3257aa0-d7e2-4f81-842c-712eeae53d4f.jpg' />2018年7月2日下午,杭州突降暴雨,滨江区部分道路积水严重,进入“看海”模式。春晓路滨和路口,不少市民涉水而行。视觉中国图今年夏天,全国多地被高温和暴雨交替袭击,很多人相继遭遇了在路上被“烤焦”,在城中“看海”的经历。甚至,在大马路上游泳也并非个例。不过,针对“城中看海”,我国目前已有65个“海绵城市”试点项目启动建设,“海绵城市”能给雨季中的城市带来什么影响?8月4日,长沙市海绵城市生态产业技术创新战略联盟秘书长刘波在接受科技日报记者专访时表示,海绵城市是对现有的排水系统改造优化,通过建立和完善城市“海绵体”分散雨水径流,强化对城市径流雨水的排放控制和管理,达到约75%的年径流总量控制率。城市“海绵体”包括绿地、绿色屋顶、雨水花园、可渗透路面等城市基础配套设施,也包括城市内部现有的河、湖、水库等自然或人工湿地,雨水通过这些“海绵体”下渗、滞蓄、净化、回用,从而实现源头处理,最后剩余部分径流通过管网、泵站外排,从而有效地减轻城市给排水系统的负担,缓解城市内涝压力,改善城市生态环境,实现雨水“留得住、用得好、送得走”。今年7月23日,受台风“安比”影响,天津大部分区域出现暴雨天气、局部大暴雨。此时海绵城市的效果显现了出来。由中国与新加坡两国政府合作共建的中新天津生态城内,各雨水泵站排水顺畅,路网通行顺畅,路面未出现大范围积水。刘波说,目前来看,海绵城市建设在小范围内已取得成效,除天津生态外,常德、西安、武汉等试点在海绵城市建设后,雨水径流得到明显控制,黑臭水体也得到一定程度的净化,对区域小环境改善起到了重要作用。如位于西安西咸新区的陕西国际商贸学院项目,经海绵化改造,实现了降雨量小于15.6毫米校园内部无雨水直接外排;雨水收集回用有效节约水资源,构建的潜流湿地保障水系水质,综合实现校园内生态、环境、景观的多重效益等。天津生态城也制定了一套生态城市指标体系,提出22项控制性指标和4项引导性指标。如非传统水资源利用率大于50%、区内地表水环境质量达到Ⅳ类水质、自然湿地净损失为零、绿色建筑100%等。《长沙市中心城区海绵城市总体规划大纲》则规划至2020年,建成区20%的面积达到将3/4的降水就地消纳和利用目标等。“但是由于城市硬化面积太大、海绵城市建设不够充分,我们的城市依然面临着比自然状态下更大内涝和洪水风险。因此,还需不断加强海绵城市的建设。”刘波说。目前,巴西、美国等国都在建设“生态城市”,刘波表示,新西兰、日本、南非等地的生态城市建设对我国也有着重要的借鉴意义。",
				"id": "5b69198094842249d11d5955"
			}],
			"maxResult": 20,
			"allNum": 1945,
			"allPages": 98,
			"currentPage": 1
		}
	}
}
服务级错误码参照
错误码 说明
-1 系统调用错误
-2 可调用次数或金额为0
-3 读取超时
-4 服务端返回数据解析错误
-5 后端服务器DNS解析错误
-6 服务不存在或未上线
-1000 系统维护
-1002 showapi_appid字段必传
-1003 showapi_sign字段必传
-1004 签名sign验证有误
-1005 showapi_timestamp无效
-1006 app无权限调用接口
-1007 没有订购套餐
-1008 服务商关闭对您的调用权限
-1009 调用频率受限
-1010 找不到您的应用
-1011 子授权app_child_id无效
-1012 子授权已过期或失效
-1013 子授权ip受限
完整教学代码示例
public static void main(String path[]) throws Exception {
URL u = new URL("http://route.showapi.com/1670-1?showapi_appid%3Dmyappid%26page%3D1%26showapi_sign%3Dmysecret");
InputStream in = u.openStream();
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
byte buf[] = new byte[1024];
int read = 0;
while ((read = in .read(buf)) > 0) {
out.write(buf, 0, read);
}
} finally {
if ( in != null) {
in .close();
}
}
byte b[] = out.toByteArray();
System.out.println(new String(b, "utf-8"));
}
<?php
/**
 * Created by PhpStorm.
 * User: FZS
 * Time: 2019/3/15 17:50
 */
//----------------------------------
// 易源 正能量新闻 调用类
//----------------------------------
class freeApi{
    private $apiId = false; //易源appid
    private $apiSecret = false; //易源secret
    private $apiUrl = 'http://route.showapi.com/1670-1';
    public function __construct($apiid,$secretkey){
        $this->apiId = $apiid;
        $this->apiSecret = $secretkey;
    }
    /**
     * url拼接
     * @return string
     */
    private function handleParam($paramArr,$showapi_secret){
        $paraStr = "";
        $signStr = "";
        ksort($paramArr);
        foreach ($paramArr as $key => $val) {
            if ($key != '' && $val != '') {
                $signStr .= $key.$val;
                $paraStr .= $key.'='.urlencode($val).'&';
            }
        }
        $signStr .= $showapi_secret;//排好序的参数加上secret,进行md5
        $sign = strtolower(md5($signStr));
        $paraStr .= 'showapi_sign='.$sign;//将md5后的值作为参数,便于服务器的效验
        return '?'.$paraStr;
    }
    /**
     * 将JSON内容转为数据,并返回
     * @param string $content [内容]
     * @return array
     */
    public function returnArray($content){
        return json_decode($content,true);
    }
    /**
     * 获取 正能量新闻 结果
     * @return array
     */
    public function getResult(){
        $paramArr = [
            'showapi_appid'=> $this->apiId,
            'page'=> "1"
        ];
        return $this->returnArray($this->freeApiCurl($this->apiUrl.$this->handleParam($paramArr,$this->apiSecret)));
    }
    /**
     * 请求接口返回内容
     * @param  string $url [请求的URL地址]
     * @param  string $params [请求的参数]
     * @param  int $ipost [是否采用POST形式]
     * @return  string
     */
    public function freeApiCurl($url,$params=false,$ispost=0){
        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_USERAGENT , 'free-api' );
        curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
        curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
        if( $ispost )
        {
            curl_setopt( $ch , CURLOPT_POST , true );
            curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
            curl_setopt( $ch , CURLOPT_URL , $url );
        }
        else
        {
            if($params){
                curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
            }else{
                curl_setopt( $ch , CURLOPT_URL , $url);
            }
        }
        $response = curl_exec( $ch );
        if ($response === FALSE) {
            return false;
        }
        curl_close( $ch );
        return $response;
    }
}
//推荐使用npm安装使用sdk: npm install --save showapi-sdk
'use strict';

var showapiSdk = require('showapi-sdk');

//设置你测试用的appId和secret,img
var appId='';
var secret='';
//开启debug
//showapiSdk.debug(true);
if(!(appId&&secret)){
  console.error('请先设置appId等测试参数,详见样例代码内注释!')
  return;
}
//全局默认设置
showapiSdk.setting({
  url:"http://route.showapi.com/1670-1",//你要调用的API对应接入点的地址,注意需要先订购了相关套餐才能调
  appId:appId,//你的应用id
  secret:secret,//你的密钥
  timeout:5000,//http超时设置
  options:{//默认请求参数,极少用到
    testParam:'test'
  }
})

var request=showapiSdk.request();
request.appendText('page','1');
request.post(function(data){
  console.info(data)
})
package main

import (
"showSdk/normalRequest"
"fmt"
)
res := normalRequest.ShowapiRequest("http://route.showapi.com/1670-1",my_appId,"my_appSecret")
res.AddTextPara("page","1")
//res.AddFilePara("img", "C:\\Users\\showa\\Desktop\\使用过的\\4.png")//文件上传时设置
fmt.Println(res.Post())
# python3.6.5
# 需要引入requests包 :运行终端->进入python/Scripts ->输入:pip install requests
from ShowapiRequest import ShowapiRequest

r = ShowapiRequest("http://route.showapi.com/1670-1","my_appId","my_appSecret" )
r.addBodyPara("page", "1")
# r.addFilePara("img", r"C:\Users\showa\Desktop\使用过的\4.png") #文件上传时设置
res = r.post()
print(res.text) # 返回信息