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

内容预览已结束

此内容需要会员权限。请先登录以查看完整内容。