登录
  • 人们都希望被别人需要 却往往事与愿违
  • 法律本身并不能保证言论自由; 要做到这一点, 必须所有人都有包容精神。 @爱因斯坦

真正唯一可用的微软小冰API – realXiaoice

不懂编程 Benny小土豆 1065次浏览 1509字 8个评论
文章目录[显示]
这篇文章在 2019年08月28日21:26:43 更新了哦~

在聊天机器人中,微软小冰可以说是比较有特色的了。然而不友好的一点是微软小冰并没有开放给公众的API。上网搜一搜,也并没没有真正好用的API!所以本萌新只好自己动手,丰衣足食了。

(可惜图灵机器人要咱上传手持身份证的照片,(╯‵□′)╯︵┻━┻)

想和小冰聊天,只能看看与小冰合作的第三方平台了。

真正唯一可用的微软小冰API - realXiaoice

乍一看平台挺多,但是其实没有几个是提供了简单易用的SDK能够让我接管聊天这件事情的……哪像telegram那样嘛!!

本API呢……是从新浪微博入手的……

效果图

真正唯一可用的微软小冰API - realXiaoice

ExpressBot与小冰结

真正唯一可用的微软小冰API - realXiaoice

特点

  • 可用,2019年唯一真正可用的API
  • 异步非阻塞:尽管如此,还是需要一两秒给小冰那边的~
  • 可维护:咱是要维护这个的……

先来简单的介绍下使用方法吧!

使用方法

支持GET、POST方法,也可以POST JSON

GET http://127.0.0.1:6789/chat?text=hello

假如一切正常,HTTP 200

{
"text": "想我干嘛",
"debug": ""
}

假如客户端有错,HTTP 400

{
"text": "",
"debug": "client wrong reason"
}

假如服务端有错,HTTP 500

{
"text": "",
"debug": "server wrong reason"
}

部署方法

其实部署本程序很简单的啦!以下步骤,如果理想的话,只需要十年再来一次哦~

1. 领养小冰

注册一个新浪微博账号,领养小冰,确保与小冰的私信是正常的

2. 登录微博账号

使用Chrome或者Firefox,建议开启隐身模式,打开 https://m.weibo.cn, 登录你的微博账号

3. 获取headers

打开和小冰的私信页面,按F12打开控制台,切换到Network,并选中XHR,然后和小冰说句话,点开名为send的请求

复制全部Request Headers中除了Content-Length以外所有行,粘贴到headers.txt中

真正唯一可用的微软小冰API - realXiaoice

4. 安装Python 3与依赖

安装适合自己平台的Python,然后

pip install tornado requests

5. 运行

python ice_server.py

6. systemd单元文件

可能需要给headers.txt设置足够的权限

[Unit]
Description=xiaoice API by Benny
After=network.target network-online.target nss-lookup.target

[Service]
User=nobody
Restart=on-failure
Type=simple
WorkingDirectory=/path/to/realXiaoice
ExecStart=/usr/bin/python3 /path/to/realXiaoice/ice_server.py

[Install]
WantedBy=multi-user.target

其他使用细节

自定义监听端口

python ice_server.py --p=41123

自定义监听地址

python ice_server.py --h=0.0.0.0

目前计划

  • 只允许特定IP访问API
  • 对小冰的回复增加图片支持

开源地址

https://github.com/BennyThink/realXiaoice

戳~

 

我想要个现成的!

那么没问题

  curl "https://xiaoice.bennythink.com:4433/chat?text=hello&auth=111111"

 

为了避免被滥用,我好不容易的,这个auth code,请联系我获取~


文章版权归原作者所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明原作者和本文原始地址:
https://www.bennythink.com/xiaoice.html
喜欢 (2)
分享:-)
Benny小土豆
关于作者:
If you have any further questions, feel free to contact me in English or Chinese.
发表我的评论(代码和日志请使用Pastebin或Gist)
取消评论

                     

去你妹的实名制!

  • 昵称 (必填)
  • 邮箱 (必填,不要邮件提醒可以随便写)
  • 网址 (选填)
(8)个小伙伴在吐槽
  1. :mrgreen: 可以架设一个大家用吗
    给大佬磕头2019-08-28 13:22 回复
    • Benny小土豆
      送我一组微博headers,我就弄一个给大家用!
      Benny小土豆2019-08-28 13:35 回复
      • :sad: 大佬有qq吗
        给大佬磕头2019-08-28 13:41 回复
        • Benny小土豆
          你猜猜啊(想贡献headers吗?
          Benny小土豆2019-08-28 16:45
  2. 给萌新跪了!
    stephen2019-08-12 20:44 回复
    • Benny小土豆
      免礼平身
      Benny小土豆2019-08-12 21:38 回复
  3. 给大佬跪了
    R0uter2019-08-12 08:40 回复
    • Benny小土豆
      再说一遍,我是萌新,不是大佬ε=ε=ε=(~ ̄▽ ̄)~
      Benny小土豆2019-08-12 08:42 回复