299 - 《Google Bard API 逆向》
发布于 2023年5月15日
早上试了下 Google Bard,感觉相比 ChatGPT 的优点是,1)速度快,2)有网络功能,能直接总结 url 里的内容(但注意可能不准),3)支持的 token 数好像更多。
想着可以把他接入我的总结脚本里,当文章内容超出 ChatGPT TOKEN 限制时,切 bard 应应急。于是找了个逆向的库,google 搜 bard api site:github.com
可以找到很多,最终选了 TypeScript 实现的库翻了下。提了下最简代码如下。
import axios from 'axios';
import assert from 'assert';
const BARD_PSID = '';
const BASE_URL = 'https://bard.google.com';
const USER_AGENT =
'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36';
export async function ask(opts: { message: string }) {
const psid = BARD_PSID;
assert(opts.message, 'message is required');
const headers = {
Host: 'bard.google.com',
'X-Same-Domain': '1',
'User-Agent': USER_AGENT,
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
Origin: BASE_URL,
Referer: BASE_URL + '/',
Cookie: `__Secure-1PSID=${psid}`,
};
const session = axios.create({
headers,
withCredentials: true,
});
const resp1 = await session.g