API接口

API接口

垃圾分类小程序,支持文字搜索,图像识别等功能,欢迎体验

默认分类迷雾 回复了问题 • 3 人关注 • 2 个回复 • 328 次浏览 • 2019-09-05 23:26 • 来自相关话题

Web接口基础知识:认识HTTP状态码

天行数据宇天行 发表了文章 • 0 个评论 • 134 次浏览 • 2019-08-30 20:28 • 来自相关话题

在前面的几篇文章中都多次提到了HTTP(超文本传输协议),简单说就是客户端与服务端之前相互沟通协作一个规范,所有在WWW(万维网)里传输的网页、图片、视频等等富媒体文件资源他们被用户如何发送给服务端,而服务器端又如何将上述资源返回给用户,都是由这个协议决定的。

而今天要说的HTTP状态码,就是用来表示HTTP协议响应状态的3位数字代码。类似于打电话时对方处在不同状态时的提示声。当我向服务端请求下载一张图片时,如果图片存在,HTTP状态码就是200,不存在就是404。这个状态码合集是由一个叫互联网号码分配局的国际机构来负责维护的。





 
HTTP状态码对于普通互联网用户而言,比较常见大概有十几种。
200(服务端成功返回资源),如上图天行数据服务端成功返回了json数据。
404,表示要请求的资源(网页、图片等等)在服务端不存在。
403(服务端拒绝请求),一般是被请求的资源被设置了权限。
500(内部服务器发生错误),一般是服务端软件有Bug或无法正常工作等。
504(网关超时),在一定的时间内,你向服务端请求的资源迟迟未被处理。

另外,在前面的《Web接口基础知识:GET和POST两种请求方法的区别》提到get请求和post请求的区别,其中有一点是,get请求时的参数是拼接到url链接中的,但url链接的字符长度有一个限制,超出了限制服务端就会返回414 (请求的 URI 过长) 服务器无法处理的错误。特别是在调用图像垃圾分类接口时,如果错误的使用get方式请求,把图片的base64编码数据拼接到了url链接中,服务端就会无法处理,返回414状态码。

所以传递的数据过大时,请务必使用post方式来请求接口。
  查看全部
在前面的几篇文章中都多次提到了HTTP(超文本传输协议),简单说就是客户端与服务端之前相互沟通协作一个规范,所有在WWW(万维网)里传输的网页、图片、视频等等富媒体文件资源他们被用户如何发送给服务端,而服务器端又如何将上述资源返回给用户,都是由这个协议决定的。

而今天要说的HTTP状态码,就是用来表示HTTP协议响应状态的3位数字代码。类似于打电话时对方处在不同状态时的提示声。当我向服务端请求下载一张图片时,如果图片存在,HTTP状态码就是200,不存在就是404。这个状态码合集是由一个叫互联网号码分配局的国际机构来负责维护的。

微信截图_20190830201149.png

 
HTTP状态码对于普通互联网用户而言,比较常见大概有十几种。
200(服务端成功返回资源),如上图天行数据服务端成功返回了json数据。
404,表示要请求的资源(网页、图片等等)在服务端不存在。
403(服务端拒绝请求),一般是被请求的资源被设置了权限。
500(内部服务器发生错误),一般是服务端软件有Bug或无法正常工作等。
504(网关超时),在一定的时间内,你向服务端请求的资源迟迟未被处理。

另外,在前面的《Web接口基础知识:GET和POST两种请求方法的区别》提到get请求和post请求的区别,其中有一点是,get请求时的参数是拼接到url链接中的,但url链接的字符长度有一个限制,超出了限制服务端就会返回414 (请求的 URI 过长) 服务器无法处理的错误。特别是在调用图像垃圾分类接口时,如果错误的使用get方式请求,把图片的base64编码数据拼接到了url链接中,服务端就会无法处理,返回414状态码。

所以传递的数据过大时,请务必使用post方式来请求接口。
 

Web接口基础知识:HTTP 协议中URL和URI的区别

天行数据宇天行 发表了文章 • 0 个评论 • 217 次浏览 • 2019-08-13 21:01 • 来自相关话题

前两天的文章都反复提到了HTTP协议,简单来说http是运行在TCP/IP上的超文本传输协议,客户端可能发送给服务器什么样的消息而又应该得到什么样的回应,是由http协议来规定和实现的。





 
今天再来讲一个web接口开发的基本概念,什么是url?什么是uri。其实,在生活中,稍微有点网络常识的同学,经常会接触一个概念url,也很习惯的把他理解成网址链接,例如把这篇文章的url复制一下给我吧。

URL的专业术语叫资源定位符 ,URI叫统一资源标识符。他们之间的关系通过下图可以看出,URL只是URI的一个子集。





 
要理解上面的概念略微有点抽象,二者的区别在于,URI表示请求服务器的路径,定义这么一个资源。而URL同时说明要如何访问这个资源(http://)。

我们继续用唐诗三百首的API链接来说明他的组成关系:





 
 
为了准确描述一组web资源的获取方式,我们把上面的链接分为三个部分,黄色部分是访问它时所用的网络协议(http超文本协议),绿色部分是主机别名和默认的端口号、蓝色部分是路径,褐色部分是默认的index.xx文件,红色部分是查询字符串(query string)。访问后,服务器就会返回一段json文本给用户。

今天我们把互联网上某个具体的资源(一个网页、一张图片)比如成一个人,那么URI就相当于这个人的身份证号码,它标识了这个人不重复的唯一编号,通过身份证号我们就能确定某个唯一的人。

我们再举一个URL的例子,通过描述一个人的具体位置来定位某个唯一的人。

中国邮政编码协议://上海市/嘉定区/XXX小区/3号楼/XX室.XX人

通过上面可以看出,URL同样可以起到了URI的作用(确定一个具体的人),所以URL是URI的子集。

用一段术语总结:URI是以一种抽象的,高层次概念定义统一资源标识,而URL则是具体的资源标识的方式。URL是一种URI。

大家在调用天行数据API接口时,一定要按照接口文档来,api地址中的任何问号?,斜杠/(包括末尾部分)都不要省略。省略地址中的任何符号,那么描述和定位他的方式就发生了变化,导致不能获取资源或者发生其他错误。





 
具体关于URI的概念非常抽象,URI子集除了URL还有URN(统一资源名称),大家感兴趣想详细了解可以网络搜索一下。
  查看全部
前两天的文章都反复提到了HTTP协议,简单来说http是运行在TCP/IP上的超文本传输协议,客户端可能发送给服务器什么样的消息而又应该得到什么样的回应,是由http协议来规定和实现的。

timg.jpg

 
今天再来讲一个web接口开发的基本概念,什么是url?什么是uri。其实,在生活中,稍微有点网络常识的同学,经常会接触一个概念url,也很习惯的把他理解成网址链接,例如把这篇文章的url复制一下给我吧。

URL的专业术语叫资源定位符 ,URI叫统一资源标识符。他们之间的关系通过下图可以看出,URL只是URI的一个子集。

591228-20160116223301225-1866838315.png

 
要理解上面的概念略微有点抽象,二者的区别在于,URI表示请求服务器的路径,定义这么一个资源。而URL同时说明要如何访问这个资源(http://)。

我们继续用唐诗三百首的API链接来说明他的组成关系:

88.png

 
 
为了准确描述一组web资源的获取方式,我们把上面的链接分为三个部分,黄色部分是访问它时所用的网络协议(http超文本协议),绿色部分是主机别名和默认的端口号、蓝色部分是路径,褐色部分是默认的index.xx文件,红色部分是查询字符串(query string)。访问后,服务器就会返回一段json文本给用户。

今天我们把互联网上某个具体的资源(一个网页、一张图片)比如成一个人,那么URI就相当于这个人的身份证号码,它标识了这个人不重复的唯一编号,通过身份证号我们就能确定某个唯一的人。

我们再举一个URL的例子,通过描述一个人的具体位置来定位某个唯一的人。

中国邮政编码协议://上海市/嘉定区/XXX小区/3号楼/XX室.XX人

通过上面可以看出,URL同样可以起到了URI的作用(确定一个具体的人),所以URL是URI的子集。

用一段术语总结:URI是以一种抽象的,高层次概念定义统一资源标识,而URL则是具体的资源标识的方式。URL是一种URI。

大家在调用天行数据API接口时,一定要按照接口文档来,api地址中的任何问号?,斜杠/(包括末尾部分)都不要省略。省略地址中的任何符号,那么描述和定位他的方式就发生了变化,导致不能获取资源或者发生其他错误。

66.png

 
具体关于URI的概念非常抽象,URI子集除了URL还有URN(统一资源名称),大家感兴趣想详细了解可以网络搜索一下。
 

Web接口基础知识:http和https这两种协议的区别

开发帮助宇天行 发表了文章 • 0 个评论 • 198 次浏览 • 2019-08-12 17:41 • 来自相关话题

昨天的文章(Web接口基础知识:GET和POST两种请求方法的区别)介绍了调用接口时get和post这两种常见请求方式的区别,post方式能传递的数据量远比get方式大得多,而且相对get方式也比较隐蔽。





 
今天我们继续把互联网比喻为信息高速公路,用尽量简单的方式,带大家了解下加密超文本协议(https)的独到之处。

通过昨天的文章,我们了解到,get就像公路上的拖拉机,是敞开式车厢,车里运载的什么货物,公路两边的人一清二楚。post相当于一辆全封闭式车厢的卡车,除非是打开车厢门,否则谁也不知道里面装了什么货物。无论是GET(拖拉机)还是POST(卡车)都是HTTP请求的其中两种基本方法(公路上的两种运输车型)。





 
但即使是POST(卡车)的封闭性看起来比较好,也只能防君子不防小人。在互联网的信息高速公路上,经过一些服务区的时候,总有一些不良商贩,一趁你不注意,就直接打开车厢往里塞点小广告,带点私货。更糟心的是,这条路上,还有着数不清的觊觎车厢货物的车匪路霸,他们拦路抢劫,无恶不作。要么偷梁换柱以假乱真,要么就直接劫走货物占为己有,手段各式各样,无所不用其极。





 
在以前,运载的货物都是一些吃喝拉撒的日常用品,在车厢上加把防盗锁又麻烦又挺不经济的,也就睁只眼闭只眼骂骂咧咧一阵过去了。后来,数字经济时代来了,运载的货物就不再是白菜萝卜了,偶尔还干点运钞拉金条之类的活儿,这要是被偷梁换柱了或者直接劫走了,损失可就大了。

因此,这些运输公司聚在一块一合计,不行,车厢门还是必须得加把高强度的数字密码智能锁,密码只给收发双方才放心。但就算这样还是防不了人家直接把整个车劫走,因此又合计一下,还是得再修一条专用的443通道,和普通货车走的80通道彻底分开比较靠谱,从头到尾都要避免货物被劫持。

到这里,大家就明白了,HTTPS与HTTP的区别是,HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版(443通道),在HTTP下加入SSL层(数字密码锁),HTTPS的安全基础是SSL(密文),因此想知道加密的详细内容(运载的货物)就必须要知道SSL才行。





 
而负责发放ssl证书的叫CA机构,主要有DigiCert、Symantec、GeoTrust等等。例如天行数据API接口域名的证书就是DigiCert颁发的。有效期为一年,差不多还有2个月就要到期了,到期后需要重新付费和部署。根据不同的证书机构和种类,价格从几百到几万/年都有。






前几年,以谷歌、苹果等为首的几大互联网巨头发起了一个倡议,建议所有的互联网服务提供商,网站管理员等,都应该逐渐过渡到https加密协议,以避免用户的敏感信息被窃取盗用或者被劫持网络注入广告等。

现在我们在浏览互联网时,可以看到很多网站的的网址前面都加上了绿色的https,表示你访问的这个网站是安全加密的,发送给这个网站的任何信息,都不会被第三方窃取。





 
天行数据的Web接口,同时支持http和https协议。但因为https协议存在一个加密解密的过程,所以速度相对要慢一点,对服务器的负载压力也更大一些。相对而言,天行数据的API接口没什么机密和隐私信息,如无特别需要,还是建议大家优先使用http协议。具体如何取舍,大家根据实际项目和平台要求而定。





 
关于https的具体实现过程同样建议大家网络搜索了解,篇幅有限,这里就不具体展开了。 查看全部
昨天的文章(Web接口基础知识:GET和POST两种请求方法的区别)介绍了调用接口时get和post这两种常见请求方式的区别,post方式能传递的数据量远比get方式大得多,而且相对get方式也比较隐蔽。

12230315-d52fc8de111348279b15c8c675b07fae.jpg

 
今天我们继续把互联网比喻为信息高速公路,用尽量简单的方式,带大家了解下加密超文本协议(https)的独到之处。

通过昨天的文章,我们了解到,get就像公路上的拖拉机,是敞开式车厢,车里运载的什么货物,公路两边的人一清二楚。post相当于一辆全封闭式车厢的卡车,除非是打开车厢门,否则谁也不知道里面装了什么货物。无论是GET(拖拉机)还是POST(卡车)都是HTTP请求的其中两种基本方法(公路上的两种运输车型)。

timg.jpg

 
但即使是POST(卡车)的封闭性看起来比较好,也只能防君子不防小人。在互联网的信息高速公路上,经过一些服务区的时候,总有一些不良商贩,一趁你不注意,就直接打开车厢往里塞点小广告,带点私货。更糟心的是,这条路上,还有着数不清的觊觎车厢货物的车匪路霸,他们拦路抢劫,无恶不作。要么偷梁换柱以假乱真,要么就直接劫走货物占为己有,手段各式各样,无所不用其极。

timg_(1).jpg

 
在以前,运载的货物都是一些吃喝拉撒的日常用品,在车厢上加把防盗锁又麻烦又挺不经济的,也就睁只眼闭只眼骂骂咧咧一阵过去了。后来,数字经济时代来了,运载的货物就不再是白菜萝卜了,偶尔还干点运钞拉金条之类的活儿,这要是被偷梁换柱了或者直接劫走了,损失可就大了。

因此,这些运输公司聚在一块一合计,不行,车厢门还是必须得加把高强度的数字密码智能锁,密码只给收发双方才放心。但就算这样还是防不了人家直接把整个车劫走,因此又合计一下,还是得再修一条专用的443通道,和普通货车走的80通道彻底分开比较靠谱,从头到尾都要避免货物被劫持。

到这里,大家就明白了,HTTPS与HTTP的区别是,HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版(443通道),在HTTP下加入SSL层(数字密码锁),HTTPS的安全基础是SSL(密文),因此想知道加密的详细内容(运载的货物)就必须要知道SSL才行。

222.jpg

 
而负责发放ssl证书的叫CA机构,主要有DigiCert、Symantec、GeoTrust等等。例如天行数据API接口域名的证书就是DigiCert颁发的。有效期为一年,差不多还有2个月就要到期了,到期后需要重新付费和部署。根据不同的证书机构和种类,价格从几百到几万/年都有。

99.png


前几年,以谷歌、苹果等为首的几大互联网巨头发起了一个倡议,建议所有的互联网服务提供商,网站管理员等,都应该逐渐过渡到https加密协议,以避免用户的敏感信息被窃取盗用或者被劫持网络注入广告等。

现在我们在浏览互联网时,可以看到很多网站的的网址前面都加上了绿色的https,表示你访问的这个网站是安全加密的,发送给这个网站的任何信息,都不会被第三方窃取。

6.png

 
天行数据的Web接口,同时支持http和https协议。但因为https协议存在一个加密解密的过程,所以速度相对要慢一点,对服务器的负载压力也更大一些。相对而言,天行数据的API接口没什么机密和隐私信息,如无特别需要,还是建议大家优先使用http协议。具体如何取舍,大家根据实际项目和平台要求而定。

7.png

 
关于https的具体实现过程同样建议大家网络搜索了解,篇幅有限,这里就不具体展开了。

Web接口基础知识:GET和POST两种请求方法的区别

开发帮助宇天行 发表了文章 • 0 个评论 • 301 次浏览 • 2019-08-11 21:33 • 来自相关话题

这个问题,如果延展开来,可以写成几万字的Web开发科普文。GET和POST是HTTP请求的两种最常见最常用的基本方法,在我们以前上小学初中的时候,课本上把互联网比喻为信息高速公路。既然是高速公路,就得有交通规则对不对。不然你开拖拉机的、和开大卡车的都在一条路上飙车,很容易堵车是不是。因此信息高速公路的交通规则中,就有一条特别规定了,开拖拉机的和开卡车分别应该走什么车道。开拖拉机的运载的货物相对比较少,也很容易看出来运载的是什么货物,因此建议走get车道,虽然路窄一点但好在过关卡的时候不用下车检查。大卡车运载的货物比较多还比较隐蔽,因此走post车道。

制定这个交通条例的是谁呢?就是我们访问所有网站前面都会加上的那个http(例如http://www.qq.com),它的中文名叫超文本传输协议。

而HTTP的底层又是基于TCP/IP(相当于互联网世界的交通法),中文名叫传输控制协议或者因特网互联协议。所以GET和POST的底层也是TCP/IP,都是TCP链接。GET和POST能做的事情也是一样的,都是公路上的运输工具。你非要给GET加上request body,给POST带上url参数,技术上稍微伪装下也是可以。但问题是,不同的浏览器和服务器都对GET规定了发送和接受上限,一般就是几K到几十K的字节,能传送的数据信息非常有限,只适合一些简单的信息传递。

我们来看两个具体的例子:

图1是一个get请求,他的参数是拼接在url(query string)里的。

如唐诗三百首的API:




它分为3个部分,蓝色部分是URI(注意URI不等于URL)、红色部分是参数、绿色部分是参数值。当你访问这个地址时,就等于告诉了服务器,我的“身份证号”是XXX,我需要你返回3条数据。当你发送访问请求时,浏览器会把http header和data(也就是参数和参数值)一并发送出去,服务器响应http 200 状态码和返回请求内容。





 
图2是一个post请求,它的参数是在request body(请求体)中的,以键值对的形式传递参数。post与get一个很重要的区别是,post请求时浏览器先发送header,服务器响应100 continue,浏览器再发送data(也就是参数和参数值),服务器响应 http 200 状态码和返回请求内容。

唐诗三百首:http://api.tianapi.com/txapi/poetries/{
"key": "XXX",
"num": "3"
}




 
所以对于像唐诗三百首这样的接口,数据传递非常简单,用get方式传递数据是比较合适的。但对于像图像垃圾分类接口,其中img参数,需要传递经base64编码后的数据,那就非常大了。一张图片1M大小的图片经过base64编码后,他的实际大小都会>1M,远远超过get方式能传递的数据大小,应该就必须用post的方式传递数据。

天行数据的接口绝大多数只支持get方式请求,在接口文档的请求方式和请求参数中都有标注说明,get的参数位置urlParam,post的参数位置body,对于只支持post方式请求的个别接口,会在文档中额外用红色文本提示。大家在调用接口时,一定要注意查看。当你调用接口时,返回码提示缺少240=>缺少key参数,或者280=>缺少必要的参数,都说明你当前请求方式不对。

另外,上面的举例都只说明了get和post对于传输数据量大小的区别,实际上他们的区别还有非常多,这块大家可以自行网络搜索了解。
  查看全部
这个问题,如果延展开来,可以写成几万字的Web开发科普文。GET和POST是HTTP请求的两种最常见最常用的基本方法,在我们以前上小学初中的时候,课本上把互联网比喻为信息高速公路。既然是高速公路,就得有交通规则对不对。不然你开拖拉机的、和开大卡车的都在一条路上飙车,很容易堵车是不是。因此信息高速公路的交通规则中,就有一条特别规定了,开拖拉机的和开卡车分别应该走什么车道。开拖拉机的运载的货物相对比较少,也很容易看出来运载的是什么货物,因此建议走get车道,虽然路窄一点但好在过关卡的时候不用下车检查。大卡车运载的货物比较多还比较隐蔽,因此走post车道。

制定这个交通条例的是谁呢?就是我们访问所有网站前面都会加上的那个http(例如http://www.qq.com),它的中文名叫超文本传输协议。

而HTTP的底层又是基于TCP/IP(相当于互联网世界的交通法),中文名叫传输控制协议或者因特网互联协议。所以GET和POST的底层也是TCP/IP,都是TCP链接。GET和POST能做的事情也是一样的,都是公路上的运输工具。你非要给GET加上request body,给POST带上url参数,技术上稍微伪装下也是可以。但问题是,不同的浏览器和服务器都对GET规定了发送和接受上限,一般就是几K到几十K的字节,能传送的数据信息非常有限,只适合一些简单的信息传递。

我们来看两个具体的例子:

图1是一个get请求,他的参数是拼接在url(query string)里的。

如唐诗三百首的API:
3.png

它分为3个部分,蓝色部分是URI(注意URI不等于URL)、红色部分是参数、绿色部分是参数值。当你访问这个地址时,就等于告诉了服务器,我的“身份证号”是XXX,我需要你返回3条数据。当你发送访问请求时,浏览器会把http header和data(也就是参数和参数值)一并发送出去,服务器响应http 200 状态码和返回请求内容。

1.png

 
图2是一个post请求,它的参数是在request body(请求体)中的,以键值对的形式传递参数。post与get一个很重要的区别是,post请求时浏览器先发送header,服务器响应100 continue,浏览器再发送data(也就是参数和参数值),服务器响应 http 200 状态码和返回请求内容。

唐诗三百首:http://api.tianapi.com/txapi/poetries/
{
"key": "XXX",
"num": "3"
}

2.png

 
所以对于像唐诗三百首这样的接口,数据传递非常简单,用get方式传递数据是比较合适的。但对于像图像垃圾分类接口,其中img参数,需要传递经base64编码后的数据,那就非常大了。一张图片1M大小的图片经过base64编码后,他的实际大小都会>1M,远远超过get方式能传递的数据大小,应该就必须用post的方式传递数据。

天行数据的接口绝大多数只支持get方式请求,在接口文档的请求方式和请求参数中都有标注说明,get的参数位置urlParam,post的参数位置body,对于只支持post方式请求的个别接口,会在文档中额外用红色文本提示。大家在调用接口时,一定要注意查看。当你调用接口时,返回码提示缺少240=>缺少key参数,或者280=>缺少必要的参数,都说明你当前请求方式不对。

另外,上面的举例都只说明了get和post对于传输数据量大小的区别,实际上他们的区别还有非常多,这块大家可以自行网络搜索了解。
 

html调用情话api有demo吗

默认分类宇天行 回复了问题 • 2 人关注 • 1 个回复 • 195 次浏览 • 2019-08-07 13:54 • 来自相关话题

html调用api 有demo吗?

开发帮助宇天行 回复了问题 • 2 人关注 • 1 个回复 • 205 次浏览 • 2019-08-07 13:53 • 来自相关话题

天行数据增加垃圾分类热点搜索排行接口

回复

天行数据宇天行 发起了问题 • 1 人关注 • 0 个回复 • 348 次浏览 • 2019-07-31 12:45 • 来自相关话题

成语接龙发现有很大概率把原本是成语的词判断为不是成语

天行数据宇天行 回复了问题 • 2 人关注 • 2 个回复 • 128 次浏览 • 2019-07-24 05:16 • 来自相关话题

新闻资讯详情页时间显示不正常

天行数据宇天行 回复了问题 • 2 人关注 • 1 个回复 • 82 次浏览 • 2019-07-23 13:49 • 来自相关话题

垃圾分类小程序,支持文字搜索,图像识别等功能,欢迎体验

回复

默认分类迷雾 回复了问题 • 3 人关注 • 2 个回复 • 328 次浏览 • 2019-09-05 23:26 • 来自相关话题

html调用情话api有demo吗

回复

默认分类宇天行 回复了问题 • 2 人关注 • 1 个回复 • 195 次浏览 • 2019-08-07 13:54 • 来自相关话题

html调用api 有demo吗?

回复

开发帮助宇天行 回复了问题 • 2 人关注 • 1 个回复 • 205 次浏览 • 2019-08-07 13:53 • 来自相关话题

天行数据增加垃圾分类热点搜索排行接口

回复

天行数据宇天行 发起了问题 • 1 人关注 • 0 个回复 • 348 次浏览 • 2019-07-31 12:45 • 来自相关话题

成语接龙发现有很大概率把原本是成语的词判断为不是成语

回复

天行数据宇天行 回复了问题 • 2 人关注 • 2 个回复 • 128 次浏览 • 2019-07-24 05:16 • 来自相关话题

新闻资讯详情页时间显示不正常

回复

天行数据宇天行 回复了问题 • 2 人关注 • 1 个回复 • 82 次浏览 • 2019-07-23 13:49 • 来自相关话题

综合新闻l列表的传word字段无效

回复

天行数据宇天行 回复了问题 • 2 人关注 • 2 个回复 • 89 次浏览 • 2019-07-23 10:20 • 来自相关话题

安卓开发怎么调用api

回复

天行数据宇天行 回复了问题 • 2 人关注 • 1 个回复 • 152 次浏览 • 2019-06-08 10:47 • 来自相关话题

API秘钥在哪里可以找到

回复

天行数据宇天行 回复了问题 • 2 人关注 • 1 个回复 • 245 次浏览 • 2019-05-08 21:58 • 来自相关话题

查看全文都不行

回复

天行数据宇天行 回复了问题 • 3 人关注 • 1 个回复 • 338 次浏览 • 2019-04-14 20:09 • 来自相关话题

Web接口基础知识:认识HTTP状态码

天行数据宇天行 发表了文章 • 0 个评论 • 134 次浏览 • 2019-08-30 20:28 • 来自相关话题

在前面的几篇文章中都多次提到了HTTP(超文本传输协议),简单说就是客户端与服务端之前相互沟通协作一个规范,所有在WWW(万维网)里传输的网页、图片、视频等等富媒体文件资源他们被用户如何发送给服务端,而服务器端又如何将上述资源返回给用户,都是由这个协议决定的。

而今天要说的HTTP状态码,就是用来表示HTTP协议响应状态的3位数字代码。类似于打电话时对方处在不同状态时的提示声。当我向服务端请求下载一张图片时,如果图片存在,HTTP状态码就是200,不存在就是404。这个状态码合集是由一个叫互联网号码分配局的国际机构来负责维护的。





 
HTTP状态码对于普通互联网用户而言,比较常见大概有十几种。
200(服务端成功返回资源),如上图天行数据服务端成功返回了json数据。
404,表示要请求的资源(网页、图片等等)在服务端不存在。
403(服务端拒绝请求),一般是被请求的资源被设置了权限。
500(内部服务器发生错误),一般是服务端软件有Bug或无法正常工作等。
504(网关超时),在一定的时间内,你向服务端请求的资源迟迟未被处理。

另外,在前面的《Web接口基础知识:GET和POST两种请求方法的区别》提到get请求和post请求的区别,其中有一点是,get请求时的参数是拼接到url链接中的,但url链接的字符长度有一个限制,超出了限制服务端就会返回414 (请求的 URI 过长) 服务器无法处理的错误。特别是在调用图像垃圾分类接口时,如果错误的使用get方式请求,把图片的base64编码数据拼接到了url链接中,服务端就会无法处理,返回414状态码。

所以传递的数据过大时,请务必使用post方式来请求接口。
  查看全部
在前面的几篇文章中都多次提到了HTTP(超文本传输协议),简单说就是客户端与服务端之前相互沟通协作一个规范,所有在WWW(万维网)里传输的网页、图片、视频等等富媒体文件资源他们被用户如何发送给服务端,而服务器端又如何将上述资源返回给用户,都是由这个协议决定的。

而今天要说的HTTP状态码,就是用来表示HTTP协议响应状态的3位数字代码。类似于打电话时对方处在不同状态时的提示声。当我向服务端请求下载一张图片时,如果图片存在,HTTP状态码就是200,不存在就是404。这个状态码合集是由一个叫互联网号码分配局的国际机构来负责维护的。

微信截图_20190830201149.png

 
HTTP状态码对于普通互联网用户而言,比较常见大概有十几种。
200(服务端成功返回资源),如上图天行数据服务端成功返回了json数据。
404,表示要请求的资源(网页、图片等等)在服务端不存在。
403(服务端拒绝请求),一般是被请求的资源被设置了权限。
500(内部服务器发生错误),一般是服务端软件有Bug或无法正常工作等。
504(网关超时),在一定的时间内,你向服务端请求的资源迟迟未被处理。

另外,在前面的《Web接口基础知识:GET和POST两种请求方法的区别》提到get请求和post请求的区别,其中有一点是,get请求时的参数是拼接到url链接中的,但url链接的字符长度有一个限制,超出了限制服务端就会返回414 (请求的 URI 过长) 服务器无法处理的错误。特别是在调用图像垃圾分类接口时,如果错误的使用get方式请求,把图片的base64编码数据拼接到了url链接中,服务端就会无法处理,返回414状态码。

所以传递的数据过大时,请务必使用post方式来请求接口。
 

Web接口基础知识:HTTP 协议中URL和URI的区别

天行数据宇天行 发表了文章 • 0 个评论 • 217 次浏览 • 2019-08-13 21:01 • 来自相关话题

前两天的文章都反复提到了HTTP协议,简单来说http是运行在TCP/IP上的超文本传输协议,客户端可能发送给服务器什么样的消息而又应该得到什么样的回应,是由http协议来规定和实现的。





 
今天再来讲一个web接口开发的基本概念,什么是url?什么是uri。其实,在生活中,稍微有点网络常识的同学,经常会接触一个概念url,也很习惯的把他理解成网址链接,例如把这篇文章的url复制一下给我吧。

URL的专业术语叫资源定位符 ,URI叫统一资源标识符。他们之间的关系通过下图可以看出,URL只是URI的一个子集。





 
要理解上面的概念略微有点抽象,二者的区别在于,URI表示请求服务器的路径,定义这么一个资源。而URL同时说明要如何访问这个资源(http://)。

我们继续用唐诗三百首的API链接来说明他的组成关系:





 
 
为了准确描述一组web资源的获取方式,我们把上面的链接分为三个部分,黄色部分是访问它时所用的网络协议(http超文本协议),绿色部分是主机别名和默认的端口号、蓝色部分是路径,褐色部分是默认的index.xx文件,红色部分是查询字符串(query string)。访问后,服务器就会返回一段json文本给用户。

今天我们把互联网上某个具体的资源(一个网页、一张图片)比如成一个人,那么URI就相当于这个人的身份证号码,它标识了这个人不重复的唯一编号,通过身份证号我们就能确定某个唯一的人。

我们再举一个URL的例子,通过描述一个人的具体位置来定位某个唯一的人。

中国邮政编码协议://上海市/嘉定区/XXX小区/3号楼/XX室.XX人

通过上面可以看出,URL同样可以起到了URI的作用(确定一个具体的人),所以URL是URI的子集。

用一段术语总结:URI是以一种抽象的,高层次概念定义统一资源标识,而URL则是具体的资源标识的方式。URL是一种URI。

大家在调用天行数据API接口时,一定要按照接口文档来,api地址中的任何问号?,斜杠/(包括末尾部分)都不要省略。省略地址中的任何符号,那么描述和定位他的方式就发生了变化,导致不能获取资源或者发生其他错误。





 
具体关于URI的概念非常抽象,URI子集除了URL还有URN(统一资源名称),大家感兴趣想详细了解可以网络搜索一下。
  查看全部
前两天的文章都反复提到了HTTP协议,简单来说http是运行在TCP/IP上的超文本传输协议,客户端可能发送给服务器什么样的消息而又应该得到什么样的回应,是由http协议来规定和实现的。

timg.jpg

 
今天再来讲一个web接口开发的基本概念,什么是url?什么是uri。其实,在生活中,稍微有点网络常识的同学,经常会接触一个概念url,也很习惯的把他理解成网址链接,例如把这篇文章的url复制一下给我吧。

URL的专业术语叫资源定位符 ,URI叫统一资源标识符。他们之间的关系通过下图可以看出,URL只是URI的一个子集。

591228-20160116223301225-1866838315.png

 
要理解上面的概念略微有点抽象,二者的区别在于,URI表示请求服务器的路径,定义这么一个资源。而URL同时说明要如何访问这个资源(http://)。

我们继续用唐诗三百首的API链接来说明他的组成关系:

88.png

 
 
为了准确描述一组web资源的获取方式,我们把上面的链接分为三个部分,黄色部分是访问它时所用的网络协议(http超文本协议),绿色部分是主机别名和默认的端口号、蓝色部分是路径,褐色部分是默认的index.xx文件,红色部分是查询字符串(query string)。访问后,服务器就会返回一段json文本给用户。

今天我们把互联网上某个具体的资源(一个网页、一张图片)比如成一个人,那么URI就相当于这个人的身份证号码,它标识了这个人不重复的唯一编号,通过身份证号我们就能确定某个唯一的人。

我们再举一个URL的例子,通过描述一个人的具体位置来定位某个唯一的人。

中国邮政编码协议://上海市/嘉定区/XXX小区/3号楼/XX室.XX人

通过上面可以看出,URL同样可以起到了URI的作用(确定一个具体的人),所以URL是URI的子集。

用一段术语总结:URI是以一种抽象的,高层次概念定义统一资源标识,而URL则是具体的资源标识的方式。URL是一种URI。

大家在调用天行数据API接口时,一定要按照接口文档来,api地址中的任何问号?,斜杠/(包括末尾部分)都不要省略。省略地址中的任何符号,那么描述和定位他的方式就发生了变化,导致不能获取资源或者发生其他错误。

66.png

 
具体关于URI的概念非常抽象,URI子集除了URL还有URN(统一资源名称),大家感兴趣想详细了解可以网络搜索一下。
 

Web接口基础知识:http和https这两种协议的区别

开发帮助宇天行 发表了文章 • 0 个评论 • 198 次浏览 • 2019-08-12 17:41 • 来自相关话题

昨天的文章(Web接口基础知识:GET和POST两种请求方法的区别)介绍了调用接口时get和post这两种常见请求方式的区别,post方式能传递的数据量远比get方式大得多,而且相对get方式也比较隐蔽。





 
今天我们继续把互联网比喻为信息高速公路,用尽量简单的方式,带大家了解下加密超文本协议(https)的独到之处。

通过昨天的文章,我们了解到,get就像公路上的拖拉机,是敞开式车厢,车里运载的什么货物,公路两边的人一清二楚。post相当于一辆全封闭式车厢的卡车,除非是打开车厢门,否则谁也不知道里面装了什么货物。无论是GET(拖拉机)还是POST(卡车)都是HTTP请求的其中两种基本方法(公路上的两种运输车型)。





 
但即使是POST(卡车)的封闭性看起来比较好,也只能防君子不防小人。在互联网的信息高速公路上,经过一些服务区的时候,总有一些不良商贩,一趁你不注意,就直接打开车厢往里塞点小广告,带点私货。更糟心的是,这条路上,还有着数不清的觊觎车厢货物的车匪路霸,他们拦路抢劫,无恶不作。要么偷梁换柱以假乱真,要么就直接劫走货物占为己有,手段各式各样,无所不用其极。





 
在以前,运载的货物都是一些吃喝拉撒的日常用品,在车厢上加把防盗锁又麻烦又挺不经济的,也就睁只眼闭只眼骂骂咧咧一阵过去了。后来,数字经济时代来了,运载的货物就不再是白菜萝卜了,偶尔还干点运钞拉金条之类的活儿,这要是被偷梁换柱了或者直接劫走了,损失可就大了。

因此,这些运输公司聚在一块一合计,不行,车厢门还是必须得加把高强度的数字密码智能锁,密码只给收发双方才放心。但就算这样还是防不了人家直接把整个车劫走,因此又合计一下,还是得再修一条专用的443通道,和普通货车走的80通道彻底分开比较靠谱,从头到尾都要避免货物被劫持。

到这里,大家就明白了,HTTPS与HTTP的区别是,HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版(443通道),在HTTP下加入SSL层(数字密码锁),HTTPS的安全基础是SSL(密文),因此想知道加密的详细内容(运载的货物)就必须要知道SSL才行。





 
而负责发放ssl证书的叫CA机构,主要有DigiCert、Symantec、GeoTrust等等。例如天行数据API接口域名的证书就是DigiCert颁发的。有效期为一年,差不多还有2个月就要到期了,到期后需要重新付费和部署。根据不同的证书机构和种类,价格从几百到几万/年都有。






前几年,以谷歌、苹果等为首的几大互联网巨头发起了一个倡议,建议所有的互联网服务提供商,网站管理员等,都应该逐渐过渡到https加密协议,以避免用户的敏感信息被窃取盗用或者被劫持网络注入广告等。

现在我们在浏览互联网时,可以看到很多网站的的网址前面都加上了绿色的https,表示你访问的这个网站是安全加密的,发送给这个网站的任何信息,都不会被第三方窃取。





 
天行数据的Web接口,同时支持http和https协议。但因为https协议存在一个加密解密的过程,所以速度相对要慢一点,对服务器的负载压力也更大一些。相对而言,天行数据的API接口没什么机密和隐私信息,如无特别需要,还是建议大家优先使用http协议。具体如何取舍,大家根据实际项目和平台要求而定。





 
关于https的具体实现过程同样建议大家网络搜索了解,篇幅有限,这里就不具体展开了。 查看全部
昨天的文章(Web接口基础知识:GET和POST两种请求方法的区别)介绍了调用接口时get和post这两种常见请求方式的区别,post方式能传递的数据量远比get方式大得多,而且相对get方式也比较隐蔽。

12230315-d52fc8de111348279b15c8c675b07fae.jpg

 
今天我们继续把互联网比喻为信息高速公路,用尽量简单的方式,带大家了解下加密超文本协议(https)的独到之处。

通过昨天的文章,我们了解到,get就像公路上的拖拉机,是敞开式车厢,车里运载的什么货物,公路两边的人一清二楚。post相当于一辆全封闭式车厢的卡车,除非是打开车厢门,否则谁也不知道里面装了什么货物。无论是GET(拖拉机)还是POST(卡车)都是HTTP请求的其中两种基本方法(公路上的两种运输车型)。

timg.jpg

 
但即使是POST(卡车)的封闭性看起来比较好,也只能防君子不防小人。在互联网的信息高速公路上,经过一些服务区的时候,总有一些不良商贩,一趁你不注意,就直接打开车厢往里塞点小广告,带点私货。更糟心的是,这条路上,还有着数不清的觊觎车厢货物的车匪路霸,他们拦路抢劫,无恶不作。要么偷梁换柱以假乱真,要么就直接劫走货物占为己有,手段各式各样,无所不用其极。

timg_(1).jpg

 
在以前,运载的货物都是一些吃喝拉撒的日常用品,在车厢上加把防盗锁又麻烦又挺不经济的,也就睁只眼闭只眼骂骂咧咧一阵过去了。后来,数字经济时代来了,运载的货物就不再是白菜萝卜了,偶尔还干点运钞拉金条之类的活儿,这要是被偷梁换柱了或者直接劫走了,损失可就大了。

因此,这些运输公司聚在一块一合计,不行,车厢门还是必须得加把高强度的数字密码智能锁,密码只给收发双方才放心。但就算这样还是防不了人家直接把整个车劫走,因此又合计一下,还是得再修一条专用的443通道,和普通货车走的80通道彻底分开比较靠谱,从头到尾都要避免货物被劫持。

到这里,大家就明白了,HTTPS与HTTP的区别是,HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版(443通道),在HTTP下加入SSL层(数字密码锁),HTTPS的安全基础是SSL(密文),因此想知道加密的详细内容(运载的货物)就必须要知道SSL才行。

222.jpg

 
而负责发放ssl证书的叫CA机构,主要有DigiCert、Symantec、GeoTrust等等。例如天行数据API接口域名的证书就是DigiCert颁发的。有效期为一年,差不多还有2个月就要到期了,到期后需要重新付费和部署。根据不同的证书机构和种类,价格从几百到几万/年都有。

99.png


前几年,以谷歌、苹果等为首的几大互联网巨头发起了一个倡议,建议所有的互联网服务提供商,网站管理员等,都应该逐渐过渡到https加密协议,以避免用户的敏感信息被窃取盗用或者被劫持网络注入广告等。

现在我们在浏览互联网时,可以看到很多网站的的网址前面都加上了绿色的https,表示你访问的这个网站是安全加密的,发送给这个网站的任何信息,都不会被第三方窃取。

6.png

 
天行数据的Web接口,同时支持http和https协议。但因为https协议存在一个加密解密的过程,所以速度相对要慢一点,对服务器的负载压力也更大一些。相对而言,天行数据的API接口没什么机密和隐私信息,如无特别需要,还是建议大家优先使用http协议。具体如何取舍,大家根据实际项目和平台要求而定。

7.png

 
关于https的具体实现过程同样建议大家网络搜索了解,篇幅有限,这里就不具体展开了。

Web接口基础知识:GET和POST两种请求方法的区别

开发帮助宇天行 发表了文章 • 0 个评论 • 301 次浏览 • 2019-08-11 21:33 • 来自相关话题

这个问题,如果延展开来,可以写成几万字的Web开发科普文。GET和POST是HTTP请求的两种最常见最常用的基本方法,在我们以前上小学初中的时候,课本上把互联网比喻为信息高速公路。既然是高速公路,就得有交通规则对不对。不然你开拖拉机的、和开大卡车的都在一条路上飙车,很容易堵车是不是。因此信息高速公路的交通规则中,就有一条特别规定了,开拖拉机的和开卡车分别应该走什么车道。开拖拉机的运载的货物相对比较少,也很容易看出来运载的是什么货物,因此建议走get车道,虽然路窄一点但好在过关卡的时候不用下车检查。大卡车运载的货物比较多还比较隐蔽,因此走post车道。

制定这个交通条例的是谁呢?就是我们访问所有网站前面都会加上的那个http(例如http://www.qq.com),它的中文名叫超文本传输协议。

而HTTP的底层又是基于TCP/IP(相当于互联网世界的交通法),中文名叫传输控制协议或者因特网互联协议。所以GET和POST的底层也是TCP/IP,都是TCP链接。GET和POST能做的事情也是一样的,都是公路上的运输工具。你非要给GET加上request body,给POST带上url参数,技术上稍微伪装下也是可以。但问题是,不同的浏览器和服务器都对GET规定了发送和接受上限,一般就是几K到几十K的字节,能传送的数据信息非常有限,只适合一些简单的信息传递。

我们来看两个具体的例子:

图1是一个get请求,他的参数是拼接在url(query string)里的。

如唐诗三百首的API:




它分为3个部分,蓝色部分是URI(注意URI不等于URL)、红色部分是参数、绿色部分是参数值。当你访问这个地址时,就等于告诉了服务器,我的“身份证号”是XXX,我需要你返回3条数据。当你发送访问请求时,浏览器会把http header和data(也就是参数和参数值)一并发送出去,服务器响应http 200 状态码和返回请求内容。





 
图2是一个post请求,它的参数是在request body(请求体)中的,以键值对的形式传递参数。post与get一个很重要的区别是,post请求时浏览器先发送header,服务器响应100 continue,浏览器再发送data(也就是参数和参数值),服务器响应 http 200 状态码和返回请求内容。

唐诗三百首:http://api.tianapi.com/txapi/poetries/{
"key": "XXX",
"num": "3"
}




 
所以对于像唐诗三百首这样的接口,数据传递非常简单,用get方式传递数据是比较合适的。但对于像图像垃圾分类接口,其中img参数,需要传递经base64编码后的数据,那就非常大了。一张图片1M大小的图片经过base64编码后,他的实际大小都会>1M,远远超过get方式能传递的数据大小,应该就必须用post的方式传递数据。

天行数据的接口绝大多数只支持get方式请求,在接口文档的请求方式和请求参数中都有标注说明,get的参数位置urlParam,post的参数位置body,对于只支持post方式请求的个别接口,会在文档中额外用红色文本提示。大家在调用接口时,一定要注意查看。当你调用接口时,返回码提示缺少240=>缺少key参数,或者280=>缺少必要的参数,都说明你当前请求方式不对。

另外,上面的举例都只说明了get和post对于传输数据量大小的区别,实际上他们的区别还有非常多,这块大家可以自行网络搜索了解。
  查看全部
这个问题,如果延展开来,可以写成几万字的Web开发科普文。GET和POST是HTTP请求的两种最常见最常用的基本方法,在我们以前上小学初中的时候,课本上把互联网比喻为信息高速公路。既然是高速公路,就得有交通规则对不对。不然你开拖拉机的、和开大卡车的都在一条路上飙车,很容易堵车是不是。因此信息高速公路的交通规则中,就有一条特别规定了,开拖拉机的和开卡车分别应该走什么车道。开拖拉机的运载的货物相对比较少,也很容易看出来运载的是什么货物,因此建议走get车道,虽然路窄一点但好在过关卡的时候不用下车检查。大卡车运载的货物比较多还比较隐蔽,因此走post车道。

制定这个交通条例的是谁呢?就是我们访问所有网站前面都会加上的那个http(例如http://www.qq.com),它的中文名叫超文本传输协议。

而HTTP的底层又是基于TCP/IP(相当于互联网世界的交通法),中文名叫传输控制协议或者因特网互联协议。所以GET和POST的底层也是TCP/IP,都是TCP链接。GET和POST能做的事情也是一样的,都是公路上的运输工具。你非要给GET加上request body,给POST带上url参数,技术上稍微伪装下也是可以。但问题是,不同的浏览器和服务器都对GET规定了发送和接受上限,一般就是几K到几十K的字节,能传送的数据信息非常有限,只适合一些简单的信息传递。

我们来看两个具体的例子:

图1是一个get请求,他的参数是拼接在url(query string)里的。

如唐诗三百首的API:
3.png

它分为3个部分,蓝色部分是URI(注意URI不等于URL)、红色部分是参数、绿色部分是参数值。当你访问这个地址时,就等于告诉了服务器,我的“身份证号”是XXX,我需要你返回3条数据。当你发送访问请求时,浏览器会把http header和data(也就是参数和参数值)一并发送出去,服务器响应http 200 状态码和返回请求内容。

1.png

 
图2是一个post请求,它的参数是在request body(请求体)中的,以键值对的形式传递参数。post与get一个很重要的区别是,post请求时浏览器先发送header,服务器响应100 continue,浏览器再发送data(也就是参数和参数值),服务器响应 http 200 状态码和返回请求内容。

唐诗三百首:http://api.tianapi.com/txapi/poetries/
{
"key": "XXX",
"num": "3"
}

2.png

 
所以对于像唐诗三百首这样的接口,数据传递非常简单,用get方式传递数据是比较合适的。但对于像图像垃圾分类接口,其中img参数,需要传递经base64编码后的数据,那就非常大了。一张图片1M大小的图片经过base64编码后,他的实际大小都会>1M,远远超过get方式能传递的数据大小,应该就必须用post的方式传递数据。

天行数据的接口绝大多数只支持get方式请求,在接口文档的请求方式和请求参数中都有标注说明,get的参数位置urlParam,post的参数位置body,对于只支持post方式请求的个别接口,会在文档中额外用红色文本提示。大家在调用接口时,一定要注意查看。当你调用接口时,返回码提示缺少240=>缺少key参数,或者280=>缺少必要的参数,都说明你当前请求方式不对。

另外,上面的举例都只说明了get和post对于传输数据量大小的区别,实际上他们的区别还有非常多,这块大家可以自行网络搜索了解。
 

名人名言类型typeid对应的类型名称

开发帮助宇天行 发表了文章 • 0 个评论 • 239 次浏览 • 2019-06-03 22:18 • 来自相关话题

typeid字段对应名称:
 
1——爱情
2——道德
3——青春
4——愿望
5——集体
6——理想
7——志向
8——人才
9——谦虚
10——人格
11——天才
12——青年
13——社会
14——国家
15——财富
16——智慧
17——修养
18——工作
19——妇女
20——儿童
21——思想
22——理智
23——学习
24——科学
25——信仰
26——诚信
27——读书
28——成败
29——奉献
30——劳动
31——节约
32——教育
33——企业
34——事业
35——时间
36——勤奋
37——民族
38——真理
39——友谊
40——自由
41——心理
42——心灵
43——人生
44——幸福
45——团结
  查看全部
typeid字段对应名称:
 
1——爱情
2——道德
3——青春
4——愿望
5——集体
6——理想
7——志向
8——人才
9——谦虚
10——人格
11——天才
12——青年
13——社会
14——国家
15——财富
16——智慧
17——修养
18——工作
19——妇女
20——儿童
21——思想
22——理智
23——学习
24——科学
25——信仰
26——诚信
27——读书
28——成败
29——奉献
30——劳动
31——节约
32——教育
33——企业
34——事业
35——时间
36——勤奋
37——民族
38——真理
39——友谊
40——自由
41——心理
42——心灵
43——人生
44——幸福
45——团结
 

实时股票价格接口返回字段的释义

天行数据宇天行 发表了文章 • 0 个评论 • 133 次浏览 • 2019-05-30 11:51 • 来自相关话题

由于接口返回的是一个列表(newslist),按照数组下标取值(下表中的字段序号)
 




 
由于接口返回的是一个列表(newslist),按照数组下标取值(下表中的字段序号)
 
搜狗截图20190530115017.png

 

如何获取微信公众号标识(biz值)

天行数据宇天行 发表了文章 • 0 个评论 • 1039 次浏览 • 2019-05-14 19:11 • 来自相关话题

天行数据微信最新文章接口可以全网获取某个微信公众号最新文章的永久地址,word参数传递公众号名称或ID均可,但这种方式并非可以获取所有公众号的文章,获取失败的请同时传递biz值,将大大提高成功率。其实这个biz相当于微信公众号的唯一身份标识,有很多种玩法,例如查看某个公众号的二维码,打开历史消息页等,文末有介绍。
 
那么微信公众号的biz值如何获取呢?
 
有二种方式:
 
1,在电脑上,打开该公众号下任意一篇微信文章,鼠标右键(或Ctrl + U)查看网页源代码,搜索var biz或var appuin即可。





 
2,在微信上,打开该公众号关注界面,下拉找到“全部消息”,点击右上角...符号在弹出的菜单中点击复制链接,即可在链接中看到biz值。
 









 
通过上面的方法复制的链接如下(加粗部分MzA4Njg1MjkzOA==即为该公众号的biz值):

mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzA4Njg1MjkzOA==&scene=126&bizpsid=0#wechat_redirect
 
另外的用法举例:

查看历史消息页面
mp.weixin.qq.com/mp/getmasssendmsg?__biz=MzA4Njg1MjkzOA==#wechat_redirect

获取公众号二维码
mp.weixin.qq.com/mp/qrcode?__biz=MzA4Njg1MjkzOA==
 
 
微信最新文章API接口:https://www.tianapi.com/apiview/77
微信临时链接转永久链接及获取biz值接口:https://www.tianapi.com/apiview/89 

  查看全部
天行数据微信最新文章接口可以全网获取某个微信公众号最新文章的永久地址,word参数传递公众号名称或ID均可,但这种方式并非可以获取所有公众号的文章,获取失败的请同时传递biz值,将大大提高成功率。其实这个biz相当于微信公众号的唯一身份标识,有很多种玩法,例如查看某个公众号的二维码,打开历史消息页等,文末有介绍。
 
那么微信公众号的biz值如何获取呢?
 
有二种方式:
 
1,在电脑上,打开该公众号下任意一篇微信文章,鼠标右键(或Ctrl + U)查看网页源代码,搜索var biz或var appuin即可。

微信截图_20190514190238.png

 
2,在微信上,打开该公众号关注界面,下拉找到“全部消息”,点击右上角...符号在弹出的菜单中点击复制链接,即可在链接中看到biz值。
 
微信图片_20190514190651.jpg


微信图片_20190514190657.jpg

 
通过上面的方法复制的链接如下(加粗部分MzA4Njg1MjkzOA==即为该公众号的biz值):

mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzA4Njg1MjkzOA==&scene=126&bizpsid=0#wechat_redirect
 
另外的用法举例:

查看历史消息页面
mp.weixin.qq.com/mp/getmasssendmsg?__biz=MzA4Njg1MjkzOA==#wechat_redirect

获取公众号二维码
mp.weixin.qq.com/mp/qrcode?__biz=MzA4Njg1MjkzOA==
 
 
微信最新文章API接口:https://www.tianapi.com/apiview/77
微信临时链接转永久链接及获取biz值接口:https://www.tianapi.com/apiview/89 

 

星座配对/运势小程序分享

开发帮助宇天行 发表了文章 • 0 个评论 • 478 次浏览 • 2019-05-12 22:16 • 来自相关话题

上一次,分享土味情话的小程序的制作方法和完整的源代码。这次分享一个星座配对/运势小程序的源代码。具体的文件就不发了,跟上次差不多。直接贴代码,大家复制替换对应的文件即可。
 /** 位置:pages/star/star.js
作者:宇天行 */

var util = require('../../utils/util.js')

Page({
data: {
select_me: false,
select_he: false,
grade_name_me: '选择你的星座',
grade_name_he: '选择对方星座',
grades_me: ['白羊', '金牛', '双子', '巨蟹', '狮子', '处女', '天秤', '天蝎', '射手', '魔羯', '水瓶', '双鱼'],//我的下拉列表的数据
grades_he: ['白羊', '金牛', '双子', '巨蟹', '狮子', '处女', '天秤', '天蝎', '射手', '魔羯', '水瓶', '双鱼'],//对象下拉列表的数据
index: 0,//选择的下拉列表下标
},
/* 点击下拉框 */
bindShowMsg_me() {
this.setData({
select_me: !this.data.select
})
},
bindShowMsg_he() {
this.setData({
select_he: !this.data.select
})
},
/* 已选下拉框 */

mySelect_me(e) {
var name = e.currentTarget.dataset.name
this.setData({
grade_name_me: name,
select_me: false
})
wx.setStorage({
key: 'xingzuo_me',
data: name
})
},
mySelect_he(e) {
var name = e.currentTarget.dataset.name
var xingzuo_me = wx.getStorageSync('xingzuo_me');
this.setData({
grade_name_he: name,
select_he: false
})
this.onLoad(name, xingzuo_me);
},

onLoad: function (me,he) {
var that = this
//转发分享
wx.showShareMenu({
withShareTicket: true
}),
wx.request({
url: util.TXAPI_BASE_URL + '/txapi/xingzuo/',
data: {
key: util.TXAPI_KEY,
me: me,
he: he
},
success: function (res) {
if(res.data.code == 200){
that.setData({
grade:res.data.newslist[0].grade,
content: res.data.newslist[0].content
})
}
},
fail: function (err) {
console.log(err)
}
})
}
})

/** 位置:pages/star/star.wxml
作者:宇天行 */

<view class="container">
<!-- 你的星座选择 -->
<view class="xingzuo">
<view class='top-selected' bindtap='bindShowMsg_me'>
<text>{{grade_name_me}}</text>
</view>
<!-- 对方星座选择 -->
<view class='top-selected-he' bindtap='bindShowMsg_he'>
<text>{{grade_name_he}}</text>
</view>
</view>

<!-- 下拉框显示列表 -->
<view class="select_box" wx:if="{{select_me}}">
<view wx:for="{{grades_me}}" wx:key="unique">
<view class="select_one" bindtap="mySelect_me" data-name="{{item}}">{{item}}</view>
</view>
</view>

<!-- 对象显示的列表 -->
<view class="select_box_he" wx:if="{{select_he}}">
<view wx:for="{{grades_he}}" wx:key="unique">
<view class="select_one" bindtap="mySelect_he" data-name="{{item}}">{{item}}</view>
</view>
</view>

<view class="neir">
<view class="grade">{{grade}}</view>
<view class="content">{{content}}</view>
</view>
</view>

/** 位置:pages/star/star.wxss
/** 作者:宇天行 */

page{
background: rgb(252, 251, 251);
font-size: 16px;
background:url("背景图片地址") no-repeat 0 0;
background-size: 100% auto;
}
/* 下拉框 */
.top-selected,.top-selected-he{
float: left;
border: 1rpx solid #fff;
padding: 6rpx 20rpx;
margin: 20rpx 6px;
font-size: 30rpx;
border-radius: 4px;
}
.top-selected-he{
float: right;
}
//* 下拉框内容 */
.select_box,.select_box_he {
background-color: #fff;
padding: 0 20rpx;
width: 20%;
float: left;
position: relative;
right: 0;
z-index: 1;
overflow: hidden;
text-align: left;
font-size: 30rpx;
}
.select_box_he {
float: right;
}
.select_one {
padding-left: 10rpx;
width: 100%;
height: 60rpx;
position: relative;
line-height: 60rpx;
}

.xingzuo{
margin-bottom: 0rpx;
}
.neir{
margin-top: 50rpx;

font-size: 24rpx;
padding: 50rpx 30rpx;
}
.grade{
font-size: 28rpx;
padding-bottom: 50rpx;
}效果如下:
















 




 
星座配对API接口地址:https://www.tianapi.com/apiview/42
 
  查看全部
上一次,分享土味情话的小程序的制作方法和完整的源代码。这次分享一个星座配对/运势小程序的源代码。具体的文件就不发了,跟上次差不多。直接贴代码,大家复制替换对应的文件即可。
 
/** 位置:pages/star/star.js 
作者:宇天行 */

var util = require('../../utils/util.js')

Page({
data: {
select_me: false,
select_he: false,
grade_name_me: '选择你的星座',
grade_name_he: '选择对方星座',
grades_me: ['白羊', '金牛', '双子', '巨蟹', '狮子', '处女', '天秤', '天蝎', '射手', '魔羯', '水瓶', '双鱼'],//我的下拉列表的数据
grades_he: ['白羊', '金牛', '双子', '巨蟹', '狮子', '处女', '天秤', '天蝎', '射手', '魔羯', '水瓶', '双鱼'],//对象下拉列表的数据
index: 0,//选择的下拉列表下标
},
/* 点击下拉框 */
bindShowMsg_me() {
this.setData({
select_me: !this.data.select
})
},
bindShowMsg_he() {
this.setData({
select_he: !this.data.select
})
},
/* 已选下拉框 */

mySelect_me(e) {
var name = e.currentTarget.dataset.name
this.setData({
grade_name_me: name,
select_me: false
})
wx.setStorage({
key: 'xingzuo_me',
data: name
})
},
mySelect_he(e) {
var name = e.currentTarget.dataset.name
var xingzuo_me = wx.getStorageSync('xingzuo_me');
this.setData({
grade_name_he: name,
select_he: false
})
this.onLoad(name, xingzuo_me);
},

onLoad: function (me,he) {
var that = this
//转发分享
wx.showShareMenu({
withShareTicket: true
}),
wx.request({
url: util.TXAPI_BASE_URL + '/txapi/xingzuo/',
data: {
key: util.TXAPI_KEY,
me: me,
he: he
},
success: function (res) {
if(res.data.code == 200){
that.setData({
grade:res.data.newslist[0].grade,
content: res.data.newslist[0].content
})
}
},
fail: function (err) {
console.log(err)
}
})
}
})

/** 位置:pages/star/star.wxml
作者:宇天行 */

<view class="container">
<!-- 你的星座选择 -->
<view class="xingzuo">
<view class='top-selected' bindtap='bindShowMsg_me'>
<text>{{grade_name_me}}</text>
</view>
<!-- 对方星座选择 -->
<view class='top-selected-he' bindtap='bindShowMsg_he'>
<text>{{grade_name_he}}</text>
</view>
</view>

<!-- 下拉框显示列表 -->
<view class="select_box" wx:if="{{select_me}}">
<view wx:for="{{grades_me}}" wx:key="unique">
<view class="select_one" bindtap="mySelect_me" data-name="{{item}}">{{item}}</view>
</view>
</view>

<!-- 对象显示的列表 -->
<view class="select_box_he" wx:if="{{select_he}}">
<view wx:for="{{grades_he}}" wx:key="unique">
<view class="select_one" bindtap="mySelect_he" data-name="{{item}}">{{item}}</view>
</view>
</view>

<view class="neir">
<view class="grade">{{grade}}</view>
<view class="content">{{content}}</view>
</view>
</view>

/** 位置:pages/star/star.wxss
/** 作者:宇天行 */

page{
background: rgb(252, 251, 251);
font-size: 16px;
background:url("背景图片地址") no-repeat 0 0;
background-size: 100% auto;
}
/* 下拉框 */
.top-selected,.top-selected-he{
float: left;
border: 1rpx solid #fff;
padding: 6rpx 20rpx;
margin: 20rpx 6px;
font-size: 30rpx;
border-radius: 4px;
}
.top-selected-he{
float: right;
}
//* 下拉框内容 */
.select_box,.select_box_he {
background-color: #fff;
padding: 0 20rpx;
width: 20%;
float: left;
position: relative;
right: 0;
z-index: 1;
overflow: hidden;
text-align: left;
font-size: 30rpx;
}
.select_box_he {
float: right;
}
.select_one {
padding-left: 10rpx;
width: 100%;
height: 60rpx;
position: relative;
line-height: 60rpx;
}

.xingzuo{
margin-bottom: 0rpx;
}
.neir{
margin-top: 50rpx;

font-size: 24rpx;
padding: 50rpx 30rpx;
}
.grade{
font-size: 28rpx;
padding-bottom: 50rpx;
}
效果如下:


微信图片_20190505192602.jpg


微信图片_20190505192557.jpg


微信图片_20190505192606.jpg

 
wxapp.jpg

 
星座配对API接口地址:https://www.tianapi.com/apiview/42
 
 

甜到爆炸的土味情话小程序分享

天行数据宇天行 发表了文章 • 0 个评论 • 1375 次浏览 • 2019-04-18 21:20 • 来自相关话题

最近网络流行起了甜到腻嘴,撩到心痒的土味情话。网友的智慧是无穷的,我们跟随网红熊的脚步先来感受一波:







以后只能称你为您了,因为你在我心上







现在,你只需要几行代码,就可以直接调用天行数据土味情话接口,在您的小程序、H5、App、微信公众号上使用。


接口地址:https://www.tianapi.com/apiview/80

微信小程序示例如下:











点击阅读原文可下载这个小程序示例代码


除此之外,天行数据近期还上线了一周天气预报、恶意链接检测、星座运势、网络搜索热点、查询某公众号最新发布文章等多个API接口,欢迎使用。

什么是API接口,简单来说,就是节省你的开发成本,不用建立自己的数据库和搜集数据、也不用自行实现数据反馈的相关逻辑,只需要像访问一个网站一样,访问对应数据接口的url地址,就可以获得相应的数据。例如土味情话,天行数据的系统里有几千条相关数据,自行搜集这些数据的成本是相当大的。而又例如人脸识别接口,自行实现这一套逻辑,即使是一个团队,也几乎要花费好几年的时间和精力。但第三方开放接口后,其他用户只需要一个简单的url请求,就可以实现数据的反馈或识别,大大降低了产品的运营成本,实现互联网API化的意义。


天行数据提供了上百个各种有趣的API接口和网页转API等自定义接口的服务,欢迎使用。
  查看全部
最近网络流行起了甜到腻嘴,撩到心痒的土味情话。网友的智慧是无穷的,我们跟随网红熊的脚步先来感受一波:


1.jpg


以后只能称你为您了,因为你在我心上

2.jpg



现在,你只需要几行代码,就可以直接调用天行数据土味情话接口,在您的小程序、H5、App、微信公众号上使用。


接口地址:https://www.tianapi.com/apiview/80

微信小程序示例如下:

微信截图_20190418014250.png


微信截图_20190418014350.png


点击阅读原文可下载这个小程序示例代码


除此之外,天行数据近期还上线了一周天气预报、恶意链接检测、星座运势、网络搜索热点、查询某公众号最新发布文章等多个API接口,欢迎使用。

什么是API接口,简单来说,就是节省你的开发成本,不用建立自己的数据库和搜集数据、也不用自行实现数据反馈的相关逻辑,只需要像访问一个网站一样,访问对应数据接口的url地址,就可以获得相应的数据。例如土味情话,天行数据的系统里有几千条相关数据,自行搜集这些数据的成本是相当大的。而又例如人脸识别接口,自行实现这一套逻辑,即使是一个团队,也几乎要花费好几年的时间和精力。但第三方开放接口后,其他用户只需要一个简单的url请求,就可以实现数据的反馈或识别,大大降低了产品的运营成本,实现互联网API化的意义。


天行数据提供了上百个各种有趣的API接口和网页转API等自定义接口的服务,欢迎使用。
 

关于APIStore停止免费API服务的提示

平台公告宇天行 发表了文章 • 3 个评论 • 1113 次浏览 • 2016-12-17 20:42 • 来自相关话题

2016.12.16百度APIStore发出公告: 

“因公司目前处于战略调整阶段,为保障开发者利益及平台服务质量,APIStore平台将于2017年1月16号关闭所有免费服务接口,届时所有免费服务接口将不可调用。请您提前做好迁移工作。” 











下半年以来,百度APIStore陆续关闭了多个接口服务,包括停止新用户注册、服务商的入驻,后台变更无人审核等,现在百度APIStore基本属于无人看管状态,导致在出现BUG的情况下,本平台无法立即修复而让大家产生误解。因此,本平台将在未来几天内逐渐关闭在APIStore的API服务,请大家尽快迁移到官网调用,谢谢。 





  查看全部
2016.12.16百度APIStore发出公告: 

“因公司目前处于战略调整阶段,为保障开发者利益及平台服务质量,APIStore平台将于2017年1月16号关闭所有免费服务接口,届时所有免费服务接口将不可调用。请您提前做好迁移工作。” 

360反馈意见截图18210320506847.jpg


555.png


下半年以来,百度APIStore陆续关闭了多个接口服务,包括停止新用户注册、服务商的入驻,后台变更无人审核等,现在百度APIStore基本属于无人看管状态,导致在出现BUG的情况下,本平台无法立即修复而让大家产生误解。因此,本平台将在未来几天内逐渐关闭在APIStore的API服务,请大家尽快迁移到官网调用,谢谢。 

999999999999999.png

 
有关API接口的问题