刚接触 golang。我正在尝试向身份验证端点发出 POST 请求,以取回令牌以进一步请求身份验证。目前我得到的错误是missing "credentials". 我已经用 Python 编写了相同的逻辑,所以我知道我正在尝试做的是系统所期望的。
package main
import (
"bufio"
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
"net/http/cookiejar"
"os"
)
type Auth struct {
Method string `json:"credentials"`
Email string `json:"email"`
Password string `json:"password"`
Mfa string `json:"mfa_token"`
}
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter Email: ")
e, _ := reader.ReadString('\n')
fmt.Print("Enter Password: ")
p, _ := reader.ReadString('\n')
fmt.Print("Enter 2FA Token: ")
authy, _ := reader.ReadString('\n')
auth := Auth{"manual", e, p, authy}
j, _ := json.Marshal(auth)
jar, …Run Code Online (Sandbox Code Playgroud) 我正在尝试传输数据以将它们写入数据库.但我有错误"恐慌:运行时错误:无效的内存地址或无指针取消引用"在这个函数中,我等待来自客户端的数据
func handlePacket(conn net.Conn) {
rw := bufio.NewReadWriter(bufio.NewReader(conn), bufio.NewWriter(conn))
defer conn.Close()
packet := model.RegistrationMessage{}
client := JsonDecoderMessage(rw).Decode(&packet)
if client != nil {
puts("Error from Decode.Please NO :(")
}
if packet.MessageType == model.AUTH_MESSAGE {
puts("Auth")
} else if packet.MessageType == model.REGS_MESSAGE {
puts("Regs")
Registration(packet.Login, packet.Password)
puts("good")
}
}
Run Code Online (Sandbox Code Playgroud)
在这里我建立了与数据库的连接,我尝试在数据库中发送数据
var db *sql.DB
func InitDataBase() {
psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+
"password=%s dbname=%s sslmode=disable",
host, port, user, password, dbname)
db, err := sql.Open("postgres", psqlInfo)
if err != nil {
panic(err)
} …Run Code Online (Sandbox Code Playgroud)