名称 | 类型 | 必填 | 说明 |
---|---|---|---|
appKey | String | 是 | 接口唯一标识,在用户后台->应用中心->我的接口查看 |
openId | String | 是 | 平台id,注册后系统自动生成,在用户后台->用户中心->账户信息查看 |
dType | String | 否 | 接口数据返回类型,可选值:json、xml,默认值:json |
limit | Integer | 否 | 多少条最新电影,默认为50,最大为100 |
名称 | 类型 | 说明 |
---|---|---|
errorCode | Integer | 错误码,请参看错误码解释 |
error | String | 错误标识 |
errorMessage | String | 错误提示 |
name | String | 电影名称 |
genres | String | 剧情分类 |
showTime | String | 上映时间 |
directors | String | 导演 |
score | String | 评分,有可能为空 |
language | String | 语言 |
heros | String | 主演 |
storyline | String | 故事情节 |
{
"data": {
"amount": 5,
"list": [{
"name": "红色之子·单刀赴会",
"genres": "中国大陆 剧情 历史 战争",
"showTime": "2019-10-04(中国大陆电视)/2019-10-23(中国大陆)",
"directors": "王路沙 ",
"score": null,
"language": null,
"heros": "李肖宁 其那日图 李春明 塔娜花日",
"storyline": "影片选取1945年10月乌兰夫“单刀赴会”解散伪内蒙政府维护祖国统一真实历史事件,讲述老一辈无产阶级革命家乌兰夫同志,临危受命,运用智慧解决所谓的“内蒙古人民共和国”临时政府,最终带领内蒙古走上了民族区域自…"
}, {
"name": "丑娃娃 UglyDolls",
"genres": "中国大陆 加拿大 美国 喜剧 动画 奇幻 冒险",
"showTime": "2019-10-13(中国大陆)/2019-05-03(美国)",
"directors": "凯利·阿斯博瑞 ",
"score": null,
"language": null,
"heros": "艾玛·罗伯茨 加奈儿·梦奈 尼克·乔纳斯 碧碧·雷克萨",
"storyline": "该片讲述了丑娃娃们探索未知世界寻找真正自我的冒险之旅的故事。生活在丑娃镇上的丑娃娃们前往一个叫完美学院的地方探险,那里的娃娃们都精致漂亮,会在毕业前接受训练,然后被送到真实世界里成为孩子们心爱的玩具。…"
}, {
"name": "航海王:狂热行动(2019) One Piece: Stampede",
"genres": "动画/冒险",
"showTime": "2019-10-18(中国)",
"directors": "大塚隆史 Takashi Ôtsuka",
"score": null,
"language": null,
"heros": "田中真弓 Mayumi Tanaka (voice) 冈村明美 Akemi Okamura (voice) 中井和哉 Kazuya Nakai (voice) 山口胜平 Kappei Yamaguchi (voice) 平田广明 Hiroaki Hirata (voice) 大谷育江 Ikue Ootani (voice) 矢尾一树 Kazuki Yao (voice) 长岛雄一 Yûichi Nagashima (voice) 山口由里子 Yukiko Yamaguchi (voice) 伊藤加奈惠 Itô Kanae (voice) 宝龟克寿 Katsuhisa Hôki (voice)",
"storyline": null
}, {
"name": "萤火奇兵2:小虫不好惹(2019) You Don’t Mess with Little Bugs",
"genres": "动画/奇幻/喜剧/冒险",
"showTime": "2019-11-2(中国)",
"directors": "邓伟锋 Weifeng Deng",
"score": null,
"language": null,
"heros": "郭盛 Sheng Guo (voice) 图特哈蒙 Tu Te Ha Meng (voice) 杨凝 Ning Yang (voice) 姚雷 Lei Yao (voice) 王琳熙 Lin-xi Wang (voice) 李兰陵 Lanling Li (voice)",
"storyline": null
}, {
"name": "六欲天(2019) Summer of Changsha",
"genres": "/犯罪",
"showTime": "2019-11-1(中国)",
"directors": "祖峰 Feng Zu",
"score": null,
"language": null,
"heros": "黄璐 Lu Huang 陈明昊 Minghao Chen 田雨 Yu Tian 刘天池 Liu Tianchi 张倩如 QianRu Zhang 祖峰 Feng Zu",
"storyline": null
}]
},
"errorMessage": "成功",
"errorCode": 0,
"error": "success"
}
<Map>
<data>
<amount>5</amount>
<list>
<name>红色之子·单刀赴会</name>
<genres>中国大陆 剧情 历史 战争</genres>
<showTime>2019-10-04(中国大陆电视)/2019-10-23(中国大陆)</showTime>
<directors>王路沙</directors>
<score/>
<language/>
<heros>李肖宁 其那日图 李春明 塔娜花日</heros>
<storyline>影片选取1945年10月乌兰夫“单刀赴会”解散伪内蒙政府维护祖国统一真实历史事件,讲述老一辈无产阶级革命家乌兰夫同志,临危受命,运用智慧解决所谓的“内蒙古人民共和国”临时政府,最终带领内蒙古走上了民族区域自…</storyline>
</list>
<list>
<name>丑娃娃 UglyDolls</name>
<genres>中国大陆 加拿大 美国 喜剧 动画 奇幻 冒险</genres>
<showTime>2019-10-13(中国大陆)/2019-05-03(美国)</showTime>
<directors>凯利·阿斯博瑞</directors>
<score/>
<language/>
<heros>艾玛·罗伯茨 加奈儿·梦奈 尼克·乔纳斯 碧碧·雷克萨</heros>
<storyline>该片讲述了丑娃娃们探索未知世界寻找真正自我的冒险之旅的故事。生活在丑娃镇上的丑娃娃们前往一个叫完美学院的地方探险,那里的娃娃们都精致漂亮,会在毕业前接受训练,然后被送到真实世界里成为孩子们心爱的玩具。…</storyline>
</list>
<list>
<name>航海王:狂热行动(2019) One Piece: Stampede</name>
<genres>动画/冒险</genres>
<showTime>2019-10-18(中国)</showTime>
<directors>大塚隆史 Takashi &#212;tsuka</directors>
<score/>
<language/>
<heros>田中真弓 Mayumi Tanaka (voice) 冈村明美 Akemi Okamura (voice) 中井和哉 Kazuya Nakai (voice) 山口胜平 Kappei Yamaguchi (voice) 平田广明 Hiroaki Hirata (voice) 大谷育江 Ikue Ootani (voice) 矢尾一树 Kazuki Yao (voice) 长岛雄一 Yûichi Nagashima (voice) 山口由里子 Yukiko Yamaguchi (voice) 伊藤加奈惠 Itô Kanae (voice) 宝龟克寿 Katsuhisa Hôki (voice)</heros>
<storyline/>
</list>
<list>
<name>萤火奇兵2:小虫不好惹(2019) You Don’t Mess with Little Bugs</name>
<genres>动画/奇幻/喜剧/冒险</genres>
<showTime>2019-11-2(中国)</showTime>
<directors>邓伟锋 Weifeng Deng</directors>
<score/>
<language/>
<heros>郭盛 Sheng Guo (voice) 图特哈蒙 Tu Te Ha Meng (voice) 杨凝 Ning Yang (voice) 姚雷 Lei Yao (voice) 王琳熙 Lin-xi Wang (voice) 李兰陵 Lanling Li (voice)</heros>
<storyline/>
</list>
<list>
<name>六欲天(2019) Summer of Changsha</name>
<genres>/犯罪</genres>
<showTime>2019-11-1(中国)</showTime>
<directors>祖峰 Feng Zu</directors>
<score/>
<language/>
<heros>黄璐 Lu Huang 陈明昊 Minghao Chen 田雨 Yu Tian 刘天池 Liu Tianchi 张倩如 QianRu Zhang 祖峰 Feng Zu</heros>
<storyline/>
</list>
</data>
<errorMessage>成功</errorMessage>
<errorCode>0</errorCode>
<error>success</error>
</Map>
错误码 | 错误标识 | 错误提示 |
---|---|---|
0 | success | 成功 |
1 | fail | 失败 |
2 | pass | 通过 |
3 | data_allow | 允许返回数据 |
10001 | error_appkey | 错误的appkey |
10002 | appkey_killed | appkey被封杀 |
10003 | api_exceed_max_limit | 接口使用超过日最大限额,有可能威胁服务器安全 |
10004 | api_exceed_limit | 接口访问次数耗尽,请及时续费 |
10005 | ip_illegal | 该ip没有请求权限,请检查白名单设置 |
10006 | ip_exceed_max_limit | 当前ip请求超过限制 |
10007 | ip_killed | 当前ip被封杀 |
10008 | error_openid | 错误的openid |
10009 | openid_killed | 该openid没有请求权限 |
10010 | api_maintenance | 接口维护 |
10011 | api_closed | 接口停用 |
10012 | server_inner_error | 服务器内部错误 |
10013 | your_api_closed | 该接口设置了关闭,请到用户后台查看 |
10014 | your_api_not_bind_app | 系统要求接口至少绑定一个应用,请到用户后台绑定 |
10015 | do_not_authenticate | 您的账户没有认证 |
10016 | ip_bind_api_exceed | 一个IP最多绑定2个相同接口 |
错误码 | 错误标识 | 错误提示 |
---|
package com.xiaocongjisuan.module.example;
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 java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
public class Application {
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) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
//配置您申请的appKey和openId
public static final String APP_KEY ="yours";
public static final String OPEN_ID ="yours";
//将map型转为请求参数型
public static String urlEncode(Map<String,Object> params) {
if(params==null){return "";};
StringBuilder sb = new StringBuilder();
for (Map.Entry<String,Object> i : params.entrySet()) {
try {
sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
String r=sb.toString();
if(r.endsWith("&")){
r = r.substring(0,r.length()-1);
}
return r;
}
/**
*
* @param requestUrl 请求地址
* @param params 请求参数
* @param method 请求方法
* @return 请求结果
* @throws Exception
*/
public static String requestContent(String requestUrl, Map<String,Object> params,String method) throws Exception {
HttpURLConnection conn = null;
BufferedReader reader = null;
String rs = null;
try {
//组装请求链接
StringBuffer sb = new StringBuffer();
if(method!=null&&method.equalsIgnoreCase("get")){
requestUrl = requestUrl+"?"+urlEncode(params);
}
//默认get
URL url = new URL(requestUrl);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
if(method!=null&&method.equalsIgnoreCase("post")){
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
}
//参数配置
conn.setRequestProperty("User-agent", userAgent);
conn.setUseCaches(false);
conn.setConnectTimeout(DEF_CONN_TIMEOUT);
conn.setReadTimeout(DEF_READ_TIMEOUT);
conn.setInstanceFollowRedirects(false);
conn.connect();
if (params!= null && method.equalsIgnoreCase("post")) {
try {
DataOutputStream out = new DataOutputStream(conn.getOutputStream());
out.writeBytes(urlEncode(params));
} catch (Exception e) {
e.printStackTrace();
}
}
//读取数据
InputStream is = conn.getInputStream();
reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));
String strRead = null;
while ((strRead = reader.readLine()) != null) {
sb.append(strRead);
}
rs = sb.toString();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
reader.close();
}
if (conn != null) {
conn.disconnect();
}
}
return rs;
}
public static void main(String[] args) throws Exception{
String domain="http://api.xiaocongjisuan.com/";
String servlet="data/latestfilm/get";
String method="get";
String requestUrl=domain+servlet;
Map<String,Object> params=new HashMap<String,Object>();
params.put("appKey",APP_KEY);
params.put("openId",OPEN_ID);
//变动部分
params.put("limit","20");
String result=requestContent(requestUrl,params,method);
System.out.println(result);
}
}
# -*- coding: utf-8 -*-
# flake8: noqa
__author__ = 'wukong'
import urllib
from urllib import urlencode
#配置您申请的appKey和openId
app_key="***"
open_id="***"
"""
request_url 请求地址
params 请求参数
method 请求方法
"""
def request_content(request_url,params,method):
params = urlencode(params)
if method and method.lower() =="get":
f = urllib.urlopen("%s?%s" % (request_url, params))
else:
f = urllib.urlopen(request_url, params)
content = f.read()
print content
def main():
domain="http://api.xiaocongjisuan.com/"
servlet="data/latestfilm/get"
method="post"
request_url=domain+servlet
#字典
params ={}
params["appKey"]=app_key
params["openId"]=open_id
#变动部分
params["limit"]="20"
request_content(request_url,params,method)
if __name__ == '__main__':
main()
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<?php
/**
* @author
* @copyright 2019
*/
header("content-type:text/html;charset=utf-8"); //设置编码
//配置您申请的appKey和openId
$app_key = "***";
$open_id = "***";
/**
$url 请求地址
$params 请求参数
$ispost 请求方法
*/
function http_curl($url,$params=false,$ispost=false){
$httpInfo = array();
$ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
curl_setopt( $ch, CURLOPT_USERAGENT , "xiaocongjisuan");
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) {
//echo "cURL Error: " . curl_error($ch);
return false;
}
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
curl_close( $ch );
return $response;
}
function main(){
global $app_key;
global $open_id;
$domain="http://api.xiaocongjisuan.com/";
$servlet="data/latestfilm/get";
$method="get";
$url=$domain."".$servlet;
$params['appKey']=$app_key;
$params['openId']=$open_id;
//变动部分
$params["limit"]="20";
//编码转换
foreach ($params as $key=>$value) {
$params[$key]=mb_convert_encoding($value, "UTF-8", "GBK");
}
$paramstring = http_build_query($params);
$content = http_curl($url,$paramstring,true);
return $content;
}
echo main();
?>
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
private static string appKey="yours";
private static string openId = "yours";
static string getResponseAsString(HttpWebResponse rsp, Encoding encoding)
{
System.IO.Stream stream = null;
StreamReader reader = null;
try
{
// 以字符流的方式读取HTTP响应
stream = rsp.GetResponseStream();
reader = new StreamReader(stream, encoding);
return reader.ReadToEnd();
}
finally
{
// 释放资源
if (reader != null) reader.Close();
if (stream != null) stream.Close();
if (rsp != null) rsp.Close();
}
}
/*
* parameters 参数
* encode 编码
*/
static string buildQuery(IDictionary<string,object> parameters, string encode)
{
StringBuilder postData = new StringBuilder();
bool hasParam = false;
IEnumerator<KeyValuePair<string, object>> dem = parameters.GetEnumerator();
while (dem.MoveNext())
{
string name = dem.Current.Key;
string value = dem.Current.Value.ToString(); ;
// 忽略参数名或参数值为空的参数
if (!string.IsNullOrEmpty(name))//&& !string.IsNullOrEmpty(value)
{
if (hasParam)
{
postData.Append("&");
}
postData.Append(name);
postData.Append("=");
if (encode == "gb2312")
{
postData.Append(System.Web.HttpUtility.UrlEncode(value, Encoding.GetEncoding("gb2312")));
}
else if (encode == "utf8")
{
postData.Append(System.Web.HttpUtility.UrlEncode(value, Encoding.UTF8));
}
else
{
postData.Append(value);
}
hasParam = true;
}
}
return postData.ToString();
}
/**
*
* @param url 请求地址
* @param params 请求参数
* @param method 请求方法
* @return 请求结果
* @throws Exception
*/
static string requestContent(string url, IDictionary<string,object> parameters, string method)
{
if (method.ToLower() == "post")
{
HttpWebRequest req = null;
HttpWebResponse rsp = null;
System.IO.Stream reqStream = null;
try
{
req = (HttpWebRequest)WebRequest.Create(url);
req.Method = method;
req.KeepAlive = false;
req.ProtocolVersion = HttpVersion.Version10;
req.Timeout = 5000;
req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
byte[] postData = Encoding.UTF8.GetBytes(buildQuery(parameters, "utf8"));
reqStream = req.GetRequestStream();
reqStream.Write(postData, 0, postData.Length);
rsp = (HttpWebResponse)req.GetResponse();
Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);
return getResponseAsString(rsp, encoding);
}
catch (Exception ex)
{
return ex.Message;
}
finally
{
if (reqStream != null) reqStream.Close();
if (rsp != null) rsp.Close();
}
}
else
{
//创建请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + "?" + buildQuery(parameters, "utf8"));
//GET请求
request.Method = "GET";
request.ReadWriteTimeout = 5000;
request.ContentType = "text/html;charset=UTF-8";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
//返回内容
string retString = myStreamReader.ReadToEnd();
return retString;
}
}
static void Main(string[] args)
{
String domain = "http://api.xiaocongjisuan.com/";
String servlet = "data/latestfilm/get";
String method = "post";
String url = domain + servlet;
var parameters = new Dictionary<string,object>();
parameters.Add("appKey", appKey);
parameters.Add("openId", openId);
//变动部分
parameters.Add("limit", "20");
string result = requestContent(url, parameters, method);
Console.WriteLine(result);
Console.Read();
}
}
}
package main
import (
"io/ioutil"
"net/http"
"net/url"
"fmt"
"strings"
)
//配置您申请的appKey和openId
const APP_KEY ="yours";
const OPEN_ID ="yours";
func requestContent(requestUrl string,params url.Values,method string)(rs[]byte ,err error){
if strings.ToUpper(method)=="GET"{
return get(requestUrl,params)
}
return post(requestUrl,params)
}
// get 网络请求
func get(requestUrl string,params url.Values)(rs[]byte ,err error){
var Url *url.URL
Url,err=url.Parse(requestUrl)
if err!=nil{
fmt.Printf("解析url错误:\r\n%v",err)
return nil,err
}
//如果参数中有中文参数,这个方法会进行URLEncode
Url.RawQuery=params.Encode()
resp,err:=http.Get(Url.String())
if err!=nil{
fmt.Println("err:",err)
return nil,err
}
defer resp.Body.Close()
return ioutil.ReadAll(resp.Body)
}
// post 网络请求 ,params 是url.Values类型
func post(requestUrl string, params url.Values)(rs[]byte,err error){
resp,err:=http.PostForm(requestUrl, params)
if err!=nil{
return nil ,err
}
defer resp.Body.Close()
return ioutil.ReadAll(resp.Body)
}
func main(){
domain :="http://api.xiaocongjisuan.com/"
servlet :="data/latestfilm/get"
method :="post"
requestUrl:=domain+servlet
//初始化参数
params:=url.Values{}
params.Set("appKey",APP_KEY)
params.Set("openId",OPEN_ID)
//变动部分
params.Set("limit","20");
//发送请求
data,err:=requestContent(requestUrl,params,method)
fmt.Println(string(data))
if err!=nil{
fmt.Printf("解析url错误:\r\n%v",err)
}
}
var http = require('http');
var qs = require('querystring');
//配置您申请的appKey和openId
app_key = "***";
open_id = "***";
function request_content(request_url,port,params,method){
var path=request_url;
if(!!params){
var content = qs.stringify(params);
path=request_url+'?' + content;
}
var options = {
port: port,
path: path,
method: method
};
if(method.toLowerCase()=='post'){
options['headers']="Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8";
}
var req = http.request(options, function (res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log(chunk);
});
});
req.on('error', function (e) {
console.log('problem with request: ' + e.message);
});
req.end();
}
function main(){
var domain="http://api.xiaocongjisuan.com/";
var port=8080;//http对应80端口,https 对应443端口,请使用者自己改正
var servlet="data/latestfilm/get";
var method="post";
var request_url=domain+servlet;
var params = {};
params['appKey']=app_key;
params['openId']=open_id;
//变动部分
params["limit"]="20";
request_content(request_url,port,params,method);
}
main();