This commit is contained in:
ikechan8370 2025-02-12 15:25:47 +08:00
parent b95bacc7e8
commit 4a3090c6f9
3 changed files with 20 additions and 11 deletions

View file

@ -1,4 +1,5 @@
import WebSocket from 'ws'
import crypto from 'crypto'
import common from '../../../lib/common/common.js'
import _ from 'lodash'
import { pTimeout } from '../utils/common.js'
@ -271,19 +272,27 @@ export class BingAIClient {
throw new Error('max retry exceed, maybe refresh token error')
}
const url = `${this.baseUrl}/c/api/conversations`
const headers = {
// authorization: `Bearer ${this.accessToken}`,
'content-type': 'application/json',
origin: 'https://copilot.microsoft.com',
referer: 'https://copilot.microsoft.com/',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0'
}
if (this.accessToken) {
headers.authorization = `Bearer ${this.accessToken}`
}
const createConversationRsp = await fetch(url, {
headers: {
authorization: `Bearer ${this.accessToken}`,
'content-type': 'application/json',
origin: 'https://copilot.microsoft.com',
referer: 'https://copilot.microsoft.com/',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0'
},
headers,
method: 'POST'
})
if (createConversationRsp.status === 401) {
await this.doRefreshToken()
return await this._generateConversationId(times - 1)
if (this.refreshToken) {
await this.doRefreshToken()
return await this._generateConversationId(times - 1)
} else {
this.accessToken = null
}
}
const conversation = await createConversationRsp.json()
return conversation.id