From 32c5fabfa977f711f8418ea1cb5b4c79a41e583a Mon Sep 17 00:00:00 2001 From: doomsower <12031673+doomsower@users.noreply.github.com> Date: Mon, 25 Nov 2024 20:32:44 +0000 Subject: [PATCH] fix: fix galicia2 script --- scripts/galicia2/descriptor.go | 4 ++-- scripts/galicia2/parser.go | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/scripts/galicia2/descriptor.go b/scripts/galicia2/descriptor.go index 44da9c8..d33d592 100644 --- a/scripts/galicia2/descriptor.go +++ b/scripts/galicia2/descriptor.go @@ -17,8 +17,8 @@ var Descriptor = &core.ScriptDescriptor{ if _, ok := options.(*optionsGalicia2); ok { return &scriptGalicia2{ name: name, - listURL: "http://saih.chminosil.es/index.php?url=/datos/resumen_excel", - gaugeURLFormat: "http://saih.chminosil.es/index.php?url=/datos/ficha/estacion:%s", + listURL: "https://saih.chminosil.es/index.php?url=/datos/resumen_excel", + gaugeURLFormat: "https://saih.chminosil.es/index.php?url=/datos/ficha/estacion:%s", }, nil } return nil, fmt.Errorf("failed to cast %T", optionsGalicia2{}) diff --git a/scripts/galicia2/parser.go b/scripts/galicia2/parser.go index 4f454d2..73c1d50 100644 --- a/scripts/galicia2/parser.go +++ b/scripts/galicia2/parser.go @@ -4,6 +4,8 @@ import ( "bufio" "fmt" "html" + "net/http" + "net/url" "regexp" "strconv" "strings" @@ -67,11 +69,19 @@ func prettyName(name string) string { func (s *scriptGalicia2) parseTable() ([]item, error) { var result []item if !s.skipCookies { - err := core.Client.EnsureCookie("http://saih.chminosil.es", false) - if err != nil { - return result, err + if u, err := url.Parse(s.listURL); err == nil { + webRoot := fmt.Sprintf("%s://%s", u.Scheme, u.Host) + if err := core.Client.EnsureCookie(webRoot, false); err != nil { + return result, err + } + core.Client.Jar.SetCookies(u, []*http.Cookie{ + {Name: "lang", Value: "es"}, + }) + } else { + return result, fmt.Errorf("failed to parse list url %s: %w", s.listURL, err) } } + resp, err := core.Client.Get(s.listURL, nil) if err != nil { return result, err