Próbuję skrobać dane z witryny za pomocą protokołu HTTPS. Udało mi się wykonać podstawowe żądania za pomocą Network.HTTP.Conduit pomyślnie (księgowanie poświadczeń, itp.), Ale nie udało się wyodrębnić informacji cookie z nagłówków odpowiedzi (Set-Cookie). Wygląda na to, że kanał http ma swoją own mechanism do obsługi ciasteczek, czego nie rozumiem.Używanie przeglądarki przewodowej http
Network.HTTP.Conduit.Browser wydaje się automatycznie obsługiwać pliki cookie (co jest w porządku przeze mnie), ale nie mogłem go uruchomić z powodu braku numeru documentation.
Czy ktoś z większym doświadczeniem czynienia z modułem przeglądarki http-kanałowej mi pokazać, w jaki sposób:
- Deal z certyfikatów z podpisem własnym (udało mi się to zrobić z managerCheckCerts w module bazowym)
- Wyślij żądanie POST z parametrami zakodowanymi w URL-u w treści, a nie po przekierowaniach (użyłem w tym celu urlEncodedBody)
- Użyj pliku cookie z 2. kroku w prostym żądaniu GET i przeczytaj odpowiedź jako (leniwy) ByteString (użyłbym do tego httpLbs)
Dla mnie wygląda na to, że poziom abstrakcji Network.HTTP.Conduit.Browser jest bardziej odpowiedni dla mojej aplikacji w porównaniu do Network.HTTP.Conduit, więc chciałbym wprowadzić przełącznik, nawet gdybym mógł sobie poradzić ciasteczka ręcznie za pomocą tego ostatniego.
Miałem problem ze znalezieniem dokumentacji i wygląda na to, że kod źródłowy ma przykładowy kod: https://github.com/exbb2/http-conduit-browser/blob/master/Network/HTTP/Conduit/Browser.hs – Lionel