云函数写了一个 api.openai.com 接口中转( PHP 代码)

2023-03-11 15:49:43 +08:00
 go522000

之前使用 ChatGPT 尝试翻译一些短句,比百度翻译好用多了。前几天刚好在 twitter 上看到有大神写了一个 chrome 插件,尝试一下很好用(插件名字叫 OpenAI Translator )。

家里有一台笔记本没有安装翻墙软件,就想着使用自己的服务器来中转一下,今天把代码迁移腾讯云的云函数上,效果也不错。

代码比较粗糙,没有进行权限验证等,要注意安全。另外,腾讯云云函数前 3 个月有免费额度,之后是按每月约 12.8 元基础套餐扣费,如果用得少的话,可以改为 Cloudflare Worker ,每月都有免费额度。

分享给大家共同讨论学习。

=====

=====

// 怎么分享代码呢?就几行代码觉得没必要上传到 github 上。

<?php
header("Content-Type: application/json; charset=utf-8");

// 直接转发,无权限验证,注意安全问题!!!
$url     = 'https://api.openai.com'. str_ireplace('/release', '', $_SERVER ['PHP_SELF']);
$data    = file_get_contents('php://input');
$headers = [
    'authorization: Bearer 这里要改为 API KEY',
    'Content-Type: application/json; charset=utf-8',
    'Content-Length:' . strlen($data),
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$response = curl_exec($ch);
curl_close($ch);

echo $response;

821 次点击
所在节点    分享创造
1 条回复
ninvfeng2020
2023-03-12 09:16:03 +08:00
支持一下👍,有服务器的话用 nginx 做反向代理也方便

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/923161

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX