我申请使用字典 API,并被询问我将使用它的 URL,我选择了 locahost:19006,因为这是本地服务器打开的位置。我有 API 密钥,但由于某种原因我遇到了 CORS 问题。所以我尝试通过代理服务器获取它,但我收到此错误:
Error: AxiosError: unable to verify the first certificate
at TLSSocket.onConnectSecure (node:_tls_wrap:1530:34)
at TLSSocket.emit (node:events:390:28)
at TLSSocket._finishInit (node:_tls_wrap:944:8)
at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:725:12) {
code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'
这是 proxyServer.js:
const app = express();
app.use(cors());
const https = require("https");
const agent = new https.Agent({
rejectUnauthorized: false,
});
app.get("/words", async (req, res) => {
await axios
.get(
`https://krdict.korean.go.kr/api/search?certkey_no=4013&key=${API_KEY}&type_search=search&part=word&q=%EB%82%98%EB%AC%B4&sort=dict`,
{ agent }
)
.then((response) => {
console.log("Response:", response.data);
})
.catch((error) => console.log("Error:", error));
});
app.listen(3000, () => console.log("listening on port 3000"));
有谁知道如何解决吗?
这对我有帮助。谢谢。我在 Nextjs 服务器操作上测试得很好。
import axios from 'axios'
import https from 'https'
import { API_HOST } from './config'
const instance = axios.create({
baseURL: API_HOST,
})
instance.defaults.httpsAgent = new https.Agent({
rejectUnauthorized: false,
})
instance.interceptors.request.use(
(config) => {
return config
},
(error) => {
return Promise.reject(error)
}
)
我用的是这个配置。 这解决了我的问题。