Szukam biblioteki C++, która implementuje lub umożliwia wdrożenie klienta HTTP. Powinien również obsługiwać pliki cookie.Do jakiej biblioteki C++ powinienem użyć, aby zaimplementować klienta HTTP?
Co byś zaproponował?
Szukam biblioteki C++, która implementuje lub umożliwia wdrożenie klienta HTTP. Powinien również obsługiwać pliki cookie.Do jakiej biblioteki C++ powinienem użyć, aby zaimplementować klienta HTTP?
Co byś zaproponował?
Curl++: jest rozwiązaniem, szczególnie jeśli chcesz rzeczy bardziej stylu C++.
cpp-netlib: bardzo dobry i prosty w obsłudze, dostępny na ubuntu
sudo apt-get install libcppnetlib-dev
przykład:
using namespace boost::network;
using namespace boost::network::http;
client::request request_("http://127.0.0.1:8000/");
request_ << header("Connection", "close");
client client_;
client::response response_ = client_.get(request_);
std::string body_ = body(response_);
uszkodzone łącze (15 znaków) –
Co to jest endingowa konwencja podkreślenia wskazać? – rbanffy
W systemie Windows można sterować IE przy użyciu interfejsu IWebBrowser2
.
Prawidłowe, ale ** naprawdę ** powolne rozwiązanie dla osób o wysokich wymaganiach dotyczących wydajności. – Kiril
Jeśli to dla okien, spojrzeć na usługi HTTP systemu Windows (WinHTTP)
http://msdn.microsoft.com/en-us/library/aa384273(VS.85).aspx
Microsoft Windows HTTP Services (WinHTTP) zapewnia programistom programowania aplikacji klient HTTP interfejsu (API) do wysyłania żądań za pośrednictwem protokołu HTTP do innych serwerów HTTP .
WinHTTP oferuje zarówno interfejs programowania C/C++ aplikacja (API) oraz Component Object Model składnik (COM) automatyki odpowiedniego do stosowania w Active Server Pages (ASP) aplikacji opartych.
Dla Cookies http://msdn.microsoft.com/en-us/library/aa383261(VS.85).aspx
Dzięki za sugestię. Jest to zwykły C bez żadnego z C++. Naprawdę chciałbym skorzystać z ciężkiej pracy Bjarne (http://research.att.com/~bs). Od kilku lat powinno być zabronione używanie C w programowaniu aplikacji :) –
Można spróbować WinInet
http://msdn.microsoft.com/en-us/library/aa385331(VS.85).aspx
W przeciwieństwie do WinHTTP, to bardziej po stronie klienta zorientowanych.
Dzięki za twoją sugestię. Spójrz na mój komentarz na temat odpowiedzi WinHTTP na to pytanie, ponieważ ma on również zastosowanie. "// To wywołanie nie powiedzie się na pierwszym przejeździe, ponieważ // bufor nie jest przydzielona. if (! HttpQueryInfo (hHttp, HTTP_QUERY_RAW_HEADERS_CRLF, (LPVOID) lpOutBuffer, & dwSize, NULL))" „Dla łatwości obsługi , WinINet zamienia te protokoły w interfejs wysokiego poziomu. " Interfejs wysokiego poziomu? Może to był interfejs wysokiego poziomu 20 lat temu ... –
Możesz również spojrzeć na monikerów URL: http://msdn.microsoft.com/en-us/library/ms774965 (VS.85).aspx, opiera się na WinInet (jak sądzę), ale zapewnia interfejs podobny do COM. – Eugene
@Piotr: Zaufaj mi, jeśli uważasz, że WinHTTP jest zły, absolutnie * Nienawidzisz * WinInet ... To zadziwiająco nieprzyjazny interfejs API, nawet jeśli jesteś przyzwyczajony do pracy z bibliotekami C. A najgorsze mogą być stałe i błędy WinInet, które "przenikają" do bibliotek wyższego poziomu, takich jak MSXML ... Dużą zaletą WinInet jest to, że jeśli użytkownik ma już skonfigurowane ustawienia proxy dla swojego konta (poprzez opcje administratora lub panel sterowania Opcje IE/Internet), a następnie WinInet wybierze je automatycznie; inne biblioteki mogą wymagać jawnej konfiguracji. Tylko Windows tylko ... – Shog9
Spójrz na Poco Libraries.
Zacząłem używać ich jako przenośnych i praca z nimi jest przyjemnością. Prosto i czysto - choć na razie nie nurkowałem w niczym wyjątkowym.
Wszystko alternatywa biblioteki są tutaj dostępne, jeśli potrzebujesz skomplikowanych API HTTP, spróbuj zwijania, jeśli tylko chcesz pobrać plik, spróbuj http-tiny
duplikat: http://stackoverflow.com/questions/342918/simple-asynchronous-multi-threaded-http-request-library-for-c – lothar
imho nie, to jest INNE pytanie (biblioteka asynchroniczna, wątki) – dfa