Normális, full-featured HTTP library?

Fórumok

Keresek olyan HTTP library-t, ami egyszerre fordul Windows-ra és Linux-ra, esetleg Mac OS X-re is. Lazarus-t használok, a legfrissebb stable-t, 1.2.6 (FPC: 2.6.4). Kissé elakadtam és úgy tűnik, hogy a (szerintem) igencsak szimpla elvárásaimnak mintha egyik se felelne meg (vagy lehet, csak az esetenként hiányos / nem létező doksik miatt látom így).

Elvárások:

  • Képes legyen natívan HTTPS-t kezelni.
  • Képes legyen Cookie-kat elmenteni és a szervernek visszaküldeni.
  • Lehessen vele fájlt letölteni (bufferelten, ahogy minden normális letöltő).
  • Redirect támogatás (Moved Permanently).
  • Valahogy lehessen vele fájlletöltést folytatni (Partial Content).

Előnyök:

  • Thread safe.
  • Tud proxy-zni.

Amiket próbáltam:

  • Synapse: Tudja a HTTPS-t. Egyvalami viszont kicsit kivágta a biztosítékot. Tényleg komolyan gondolták, hogy egy fájlt letölteni csak úgy lehetséges, hogy először behúzza az egészet a memóriába TMemoryStream-ként, majd onnan lehet csak lementeni? A hivatalos példája is ezt mutatja, más megoldást nem találtam.
  • lNet: több, mint 3 éve nem került fel új package a repo-ba, doksi hiányos, példaprogramhoz semmi magyarázat. Folyamatosan hsUnknown jön vissza status-nak, ha le akarok valamit tölteni.
  • fphttpclient: Még ez volna a legjobb, ezzel sikerült letöltenem fájlt is, meg cookie-znom is. Igenám, de persze, hogy nem tud HTTPS-t, csak a development verziójában (FPC része és annak a development trunk-jében van olyan fcl-web, ami tud HTTPS-t), azt meg nem volt kedvem felszenvedni. Esetleg ha valaki tudna segíteni abban, hogyan tudom projekthez hozzáadni csak az fcl-web és fcl-net csomagokat, megköszönném. Persze az is lehet, hogy hülyeséget kérdezek és ez nem lehetséges. Nekem az is tökéletes, ha pl. ssl_openssl-en keresztül vagy akárhogy én hozom létre a HTTPS tunnel-t és átadom az fphttpclient-nek. Proxy-zni sajnos nem tud.

Valakinek valami jobb ötlet? :)

Hozzászólások

.NET szerves része a HttpWebRequest, tudja mindezt, csak nem Pascal. Ha a Pascal kőbe van vésve, akkor bocs, de ha nyitott vagy új dolgokra, és egyszerűen, szívás nélkül akarod megoldani, akkor én ezt tenném.

--