下面是一个简单的示例代码,使用golang实现浏览器请求8080/api/chatgpt后,获取传递的问题和秘钥请求chatgptapi并返回内容:

package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "net/url"
)

func main() {
    http.HandleFunc("/api/chatgpt", handleChatGPT)
    log.Fatal(http.ListenAndServe(":8080", nil))
}

func handleChatGPT(w http.ResponseWriter, r *http.Request) {
    if r.Method != "POST" {
        http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
        return
    }

    // 解析请求体
    err := r.ParseForm()
    if err != nil {
        http.Error(w, err.Error(), http.StatusBadRequest)
        return
    }

    // 获取问题和秘钥
    question := r.Form.Get("question")
    key := r.Form.Get("key")

    // 构造请求URL和参数
    apiURL := "https://chatgptapi.com/api/chatgpt"
    data := url.Values{}
    data.Set("question", question)
    data.Set("key", key)

    // 发送POST请求
    resp, err := http.PostForm(apiURL, data)
    if err != nil {
        http.Error(w, err.Error(), http.StatusInternalServerError)
        return
    }
    defer resp.Body.Close()

    // 读取响应内容
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        http.Error(w, err.Error(), http.StatusInternalServerError)
        return
    }

    // 将响应内容返回给浏览器
    fmt.Fprintf(w, "%s", body)
}

在上面的代码中,我们首先使用http.HandleFunc函数将/api/chatgpt路径与handleChatGPT函数绑定起来。在handleChatGPT函数中,我们首先检查请求方法是否为POST,然后解析请求体,获取问题和秘钥。接下来,我们构造请求URL和参数,使用http.PostForm函数发送POST请求,读取响应内容,最后将响应内容返回给浏览器。

请注意,在实际应用中,您需要根据实际情况修改代码,例如添加错误处理、验证输入、调整请求参数等。

用golang实现浏览器请求8080apichatgpt后获取传递的问题和秘钥请求chatgptapi并返回内容

原文地址: https://www.cveoy.top/t/topic/Cwv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录