获取ConversationID
GET https://www.bing.com/turing/conversation/create
中国大陆境内会自动
301
到https://cn.bing.com/turing/conversation/create
但是不影响使用 返回数据
返回字段 | 返回类型 | 描述 |
---|---|---|
result | JsonObject | 见下方#result |
conversationId | String | 对话ID 格式为 51D|BingProd|*** |
clientId | String | 每个账号固定 |
conversationSignature | String | conversation签名 |
result 中的字段 |
返回类型 | 预期数据 |
---|---|---|
value | String | Success 如不为 Success 则上方的字段只存在 result |
message | String | 错误原因 |
返回数据示例
成功获取
{
"conversationId": "51D|BingProd|***",
"clientId": "***",
"conversationSignature": "***",
"result": {
"value": "Success",
"message": null
}
}
账户没有权限访问
{
"result": {
"value": "Forbidden",
"message": "Sorry, you are not allowed to access this service."
}
}
未登陆
{
"result": {
"value": "UnauthorizedRequest",
"message": "Sorry, you need to login first to access this service."
}
}
与NewBing进行聊天
Websocket wss://sydney.bing.com/sydney/ChatHub
数据包发送
需要在每个数据的末尾加上一个Unicode字符""(
\u001e
)连接
- 与服务器建立连接时发送一个
{"protocol":"json","version":1}
- 等待服务器回复一个空的JSON字符串
{}
- 发送
{"type":6}
以及一个包含以下数据的Json字符串
Json格式
字段 | 预期类型 | 预期内容 |
---|---|---|
arguments | Array | 见下方#arguments |
invocationId | String | 本次聊天次数,从0开始自增 |
target | String | chat |
type | Int | 4 |
字段 | 预期类型 | 预期内容 |
---|---|---|
source | String | cib |
optionsSets | Array | ["nlu_direct_response_filter", "deepleo", "disable_emoji_spoken_text", "responsible_ai_policy_235", "enablemm", "harmonyv3", "wlthrottle", "dv3sugg"] |
allowedMessageTypes | Array | ["Chat", "InternalSearchQuery", "InternalSearchResult", "Disengaged", "InternalLoaderMessage", "RenderCardRequest", "AdsQuery", "SemanticSerp", "GenerateContentQuery", "SearchQuery"] |
sliceIds | Array | ["anidtest", "scfraithct", "scraith70", "sydpayajaxlog", "perfinstcf", "linkimgincf", "0310wlthrot", "313localgnds0"] |
traceId | String | 随机的32位数字+小写字母字符串 |
isStartOfSession | Boolean | 是否为本次conversation第一次聊天 |
message | JsonObject | 见下方#message |
conversationSignature | String | 上方获取到的conversationSignature |
participant | JsonObject | 见下方#participant |
conversationId | String | 上方获取到的conversationId |
字段 | 预期类型 | 预期内容 |
---|---|---|
locale | String | (ISO-639 Language Code)-(ISO-3166 Country Codes) |
market | String | (ISO-639 Language Code)-(ISO-3166 Country Codes) |
region | String | 国家(可不填) |
location | String | 经纬度(可不填) |
locationHints | JsonArray | 位置(可不填) |
timestamp | String | yyyy-MM-dd'T'hh:mm:ssZZZZZ 2023-03-18T16:04:07+08:00 |
author | String | user |
inputMethod | String | Keyboard |
text | String | 你要询问的内容 |
messageType | String | Chat |
字段 | 预期类型 | 预期内容 |
---|---|---|
id | String | 上方获取到的clientId |
json示例
json示例 ==> 展开 / 收起
获取数据
- 服务器会回复json格式的数据,其中的type为类型
- type=1 数据更新事件
- type=2 本次聊天结束
- type=7 客户端数据格式出错, 服务器会自动断开
- type=6 时需要给服务器发送
{"type":6}
以保持连接 - type=3 数据响应完毕, 此时客户端断开
type=2时的Json数据 ==> 展开 / 收起
Comments 1 条评论
博主 jiyouzhan
这篇文章写得深入浅出,让我这个小白也看懂了!