2009-09-16 2 views
4

저는 Boost와 함께 꽤 초보자이고 서핑에 대한 유일한 경험은 라이브러리를 사용하는 프록시가. NET을 사용하고 있지만 (그 목적에 매우 편리합니다). 지금은 HTTP 프록시를 통해 간단한 HTTP 요청을 수행하려고합니다.프록시를 통해 C++/Boost를 사용하여 간단한 HTTP 요청을 수행 하시겠습니까?

직접 부스트를 사용하여 깔끔하게 할 수있는 방법이 있습니까?

내 프록시는 NTLM 인증을 사용합니다.

답변

6

아니요, 아니요, Boost는 HTTP 클라이언트도 프록시와의 인터페이스도 제공하지 않습니다. 당신은 필연적으로 그러한 기능을 직접 구현해야합니다.

분명히 말해서, 예, Boost.Asio를 사용하여 HTTP 클라이언트를 구현할 수 있습니다. 그러나 프록시를 통해 안정적으로 대화 할 수있는 클라이언트를 구현하는 것은 훨씬 더 복잡하며 Asio는 저수준 소켓 자체를 넘어서서이를 지원하지 않습니다. 확실히 NTLM 인증을 수행하기위한 프레임 워크는 포함되지 않습니다.

cURL과 같은 복잡한 라이브러리는 이러한 지원을 제공합니다.

+2

http://www.boost.org/doc/libs/1_42_0/doc/html/boost_asio/example/http/client/sync_client.cpp – anno

+0

누구든지 downvoted : 코드 예제! = API 제공 지원. Boost :: ASIO는 HTTP 클라이언트를 간단하게 구현하지만 HTTP 클라이언트 전체를 제공하지는 않습니다. 또한, 내 대답은 1.40 때 가장 안정적인 게시되었습니다. – greyfade

+1

@anno : 소켓을 제공하는 것은 HTTP 요청을 자랑스럽게하는 것과 같지 않습니다. 소켓을 사용하면 HTTP 요청을 간단하게 만들 수 있지만 소켓을 사용하려면 HTTP 프로토콜을 이해해야합니다. 그들은 기능을 감싸는 단순한 유틸리티 클래스를 가지고 있지 않을 수 있습니다. –

관련 문제