swejet 发表于 2022-9-3 12:50:22

【8】一个调用阿里云短信平台的短信接口的示例

本帖最后由 swejet 于 2022-9-4 12:52 编辑

刚刚看到项目需求版块里,有格友在问短信平台调用的问题,简单做了一个



这个任务的本质仍然是发送http请求。任何一个短信平台,都会告诉你一个网址,大家都管它叫接口地址,或者API地址,有时也叫API接口,其实他们指的都是短信平台的服务商给你提供的一个网址。我们不用关心这个地址背后是什么,反正你只要知道,只要向这个地址发送一个请求,这个地址就能根据你发送的这个请求返回一个结果给你。

在早年间哪,没有微信,也没有QQ,电话都非常少,那时候大家的通信方式就是写信或者拍电报。





写信要有接收人的地址,没有接收人地址那不叫写信,那叫写日记。而这个地址用的就是我们人类的自然语言,比如某省,某某市,某某县,某某公社,某某大队,谁谁谁。

但是,有的地址,就没有那么明显易懂了,比如,如果家里有参军的亲人,要想给部队写信,就不会写人类的自然语言表述的地址了,而是部队里的亲人会告诉家里人一个部队的番号,比如 XXXXXX 部队,至于这个部队在哪,隶属于哪个军种,什么编制,这些信息都是保密的。

拍电报也一样的,大家要拍电报,就要告诉邮电局的工作人员,接收人的地址,这个地址通常也是人类的自然语言,和写信的地址是一样的。

但是有的单位,通常是一些企业,邮电局会有给他们一个特殊的号码,称为电报挂号,如果接收人有电报挂号,那么拍电报时就不用写那么长的地址了,而是只要在电报纸上写上电报挂号就行了。

在我们小时候,会写电报是小学阶段的基本技能,考试是要考的。语文老师会发给我们印制好的写电报的专用纸,称为电报单,让我们写一封电报,然后逐一帮我们改错。然后全国很多小学生都承担起了帮家里的大人拍电报的职责。那时候,当家里的大人看到那么一大点儿的小人儿背着个洗白了的书包,能到邮电局里给亲人拍电报,邮电局的工作人员看过电报单后说了一句“可以了”,甚至会激动得老泪纵横,家里终于不是一家子睁眼瞎了,而真心的感谢党,感谢**。

那么这个电报要怎么写呢?



如果把我们写信时,在信封上的写的地址类比为网址,那么给部队写信时写的番号,发电报的时候的电报挂号,就可以类比为一个API接口了。

可是这二者有什么区别呢?区别在于,API接口要对你发送过来的信息进行技术性处理。比如,你在信封上写的番号,部队统一接到信后,会根据番号转给相应的部队。电报挂号也一样,邮电局要对这个电报挂号进行技术处理,处理后才知道要把信息转发到哪里。

让我们再来看一下电报单:



可以明显地看出,电报单分为三个部分,分别是报头,地址和报文。

我们再来看看活字格的 http 请求命令:



是不是几乎一模一样的?
但是,仔细一样,写信和拍电报和我们的网络请求还不太一样,差别就在于:写信和拍电报都属于肉包子打狗,还能不能回来,不确定的因素太多了。

我们把写信、寄信或者拍电报这个行为称为“请求”,如果对方回信了,那么称为“响应”,一次请求对一次响应,这一次的连接才结束了。

在写信或拍电报这个场景中,请求和响应是割裂开的两件事,在时间上也无法保证及时性。

那有没有请求和响应就是一件事的现实生活场景呢?当然有了,那不就是打电话吗?发传真也是。

你看看你手机的通话记录,是不是大概长这样



你会发觉,通话记录用这么几个词在描述这一次的通话:呼出、未接通、已拒接、已接、未接

那么我们在网络连接中,也会出现这样几种情况,为了把不同的情况标识出来,就用了一些编码来标识这些“通话状态”,这些编码,叫做http状态码。

一些常见的状态有:

情况一:你给对方打电话,对方正常接通了,http状态码:200
情况二:你给对方打电话,却听到“您所拨打的电话已关机”,http状态码:500
情况三:你给对方打电话,却听到“您所拨打的号码是空号”,http状态码:404
情况四:你给对方打电话,却听到“您所拨打的号码正在使用呼叫转移功能”,http状态码:300

当然类似的情况还有不在服务区啊什么的。但是我们打电话,毕竟比较简单,就是在传输声音,而网络上就要复杂的多了,可能传输文本,也可能是视频音频,或者图片,甚至还可能是你的购买、支付动作,传输不同的内容时,相应的安全性的要求也不一样,因此,在网络传输上,http的状态码有非常多。但是你也不用都记下来,记住典型的几个就行啦。

(未完待续)



ngsour 发表于 2022-9-3 13:45:03

本帖最后由 ngsour 于 2022-9-3 14:17 编辑

谢谢大侠

sz_xd 发表于 2022-9-4 08:03:15

本帖最后由 sz_xd 于 2022-9-4 08:08 编辑

这个写得非常通俗易懂的,连这古董电报都找出来分享,太用心了,真不错,太点赞! 谢谢!


:hjyzw:

1525755450 发表于 2022-9-4 12:43:36

有点被小作文触动到

nsc117 发表于 2022-10-20 23:00:53

挺用心的 ,别烂尾了啊

隔壁老王 发表于 2023-2-17 17:08:33

好东西 期待后续

1525755450 发表于 2023-2-18 15:01:16

优秀

siwicloud 发表于 2023-2-23 08:13:14

赞一个

miliya 发表于 2024-9-18 22:45:44

不错 赞一个

137294886 发表于 2024-9-19 09:26:02

赞一个
页: [1]
查看完整版本: 【8】一个调用阿里云短信平台的短信接口的示例