working rooms request

This commit is contained in:
Jannover5000r 2025-06-23 18:58:04 +02:00
parent b54e97a99f
commit 8b94cac5ba

View file

@ -7,18 +7,20 @@ import (
"log" "log"
"net/http" "net/http"
"os" "os"
"github.com/joho/godotenv"
) )
type Params struct { type Params struct {
Users string `json:"users"` Users string `json:"user"`
Password string `json:"key"` Password string `json:"password"`
Client string `json:"client"` Client string `json:"client"`
} }
type getRooms struct { type getRooms struct {
Id string `json:"id"` Id string `json:"id"`
Method string `json:"method"` Method string `json:"method"`
Params Params `json:"params"` Params interface{} `json:"params"`
Jsonrpc string `json:"jsonrpc:"` Jsonrpc string `json:"jsonrpc"`
} }
type Login struct { type Login struct {
Id string `json:"id"` Id string `json:"id"`
@ -42,6 +44,7 @@ var Password = os.Getenv("UNTIS_PASSWORD")
var USERS = os.Getenv("UNTIS_USER") var USERS = os.Getenv("UNTIS_USER")
func Main() { func Main() {
godotenv.Load("../.env")
cookies, err := Auth() cookies, err := Auth()
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
@ -70,13 +73,16 @@ func Auth() ([]*http.Cookie, error) {
// Parse cookies from response // Parse cookies from response
cookies := LoginOut.Cookies() cookies := LoginOut.Cookies()
log.Println("Received cookies:", cookies) log.Println("Received cookies:", cookies)
log.Println("Set-Cookie headers:", LoginOut.Header["Set-Cookie"])
loginRespBody, _ := io.ReadAll(LoginOut.Body)
log.Println("Login response body:", string(loginRespBody))
return cookies, nil return cookies, nil
} }
func Rooms(cookies []*http.Cookie) { func Rooms(cookies []*http.Cookie) {
log.Println("Abrufen der Stunden") //log.Println("Abrufen der Stunden")
g := getRooms{"2023-05-06 15:44:22.215292", "getRooms", Params{}, "2.0"} g := getRooms{"2023-05-06 15:44:22.215292", "getRooms", map[string]interface{}{}, "2.0"}
roomsJson, err := json.Marshal(g) roomsJson, err := json.Marshal(g)
if err != nil { if err != nil {
log.Fatalf("Error marshaling login data: %v", err) log.Fatalf("Error marshaling login data: %v", err)
@ -89,12 +95,19 @@ func Rooms(cookies []*http.Cookie) {
log.Fatalf("Error creatingrequest: %v", err) log.Fatalf("Error creatingrequest: %v", err)
return return
} }
log.Println(prompt) //log.Println("prompt without extra header or cookie ", prompt)
log.Println("Cookie: ", cookies) log.Println("Cookie: ", cookies)
prompt.Header.Set("Content-Type", "application/json")
prompt.Header.Set("User-Agent", "Webuntis Test")
for _, cookie := range cookies { for _, cookie := range cookies {
//if cookie.Name == "JSESSIONID" {
prompt.AddCookie(cookie) prompt.AddCookie(cookie)
log.Println("prompt ", prompt) log.Printf("Added JSESSIONID cookie: %s=%s", cookie.Name, cookie.Value)
//}
} }
log.Println("Request JSON:", string(roomsJson))
out, err := http.DefaultClient.Do(prompt) out, err := http.DefaultClient.Do(prompt)
if err != nil { if err != nil {
log.Printf("Error during request: %v", err) log.Printf("Error during request: %v", err)