x-dr/chatgptProxyAPI

我用美国vpn,postman访问成功,后来切换成香港的vpn访问失败,然后我在切换美国的vpn访问也失败。

plantSunCat opened this issue · 6 comments

我预计是 OpenAI 的服务在您所在的国家/地区不可用的 的原因, 有大佬知道如何解决吗

我的访问流程是 postman 访问 cloudflare page 部署的静态网站, 然后 cloudflare page 部署的静态网站 再去访问openai, 我不知道该清除哪一个环节的缓存,好让他对我地区的记录信息清除掉

x-dr commented

请求响应显示什么?

当时postman是显示请求错误,后来我换个网就好使了。现在居然不用挂梯子也好使了,莫名奇妙的

我不知道,你们访问这个api接口时是需要挂梯子的吗?我以前需要,我现在居然不需要了,我的舍友用别的电脑不挂梯子也可以直接访问

x-dr commented

如果是用CloudFlare Pages部署的是可以直接访问的

你回答好及时啊!是的,我发现了,挂不挂梯子都能访问,但是突然切换他不会突然转换过来。可能第一次请求失败,第二次第三次就好使了,我第一次失败了就误以为他不好使了
为了排查错误我还修改了js代码

export default {
async fetch(request, env) {
const url = new URL(request.url);
url.host = "api.openai.com";

  const serialized = {
    method: request.method,
    headers: {},
    redirect: request.redirect
  };

  request.headers.forEach((value, name) => {
    serialized.headers[name] = value;
  });

  try {
    const response = await fetch(url, {
      headers: request.headers,
      method: request.method,
      body: request.body,
      redirect: 'follow'
    });

    const responseBodyJson = await response.json();
    let ret = {
      response: responseBodyJson,
      requset: serialized
    }

    return new Response(JSON.stringify(ret), response);
  } catch (error) {
    let ret = {
        error: error.message,
        requset: serialized
    }
    return new Response(JSON.stringify(ret), {status: 500});
  }
}

}
这个可以看到请求体,如果报错可以看出错误