, 그것은 작고 사용하기 쉬운 이후 . 다소 제한적이지만 필요한 것에 따라 작업을 완료 할 수 있습니다.
이
// invoked when response headers have been received
void OnBegin(const happyhttp::Response* r, void* userdata)
{
*userdata = r->getstatus();
}
// invoked to process response body data (may be called multiple times)
void OnData(const happyhttp::Response* r, void* userdata, const unsigned char* data, int n)
{
}
// invoked when response is complete
void OnComplete(const happyhttp::Response* r, void* userdata)
{
}
void TestGET()
{
int returnStatus;
happyhttp::Connection conn("www.google.com", 80);
conn.setcallbacks(OnBegin, OnData, OnComplete, &returnStatus);
conn.request("GET", "/");
while(conn.outstanding()) conn.pump();
if (returnStatus != 200) printf("FAIL");
else printf("OK");
}
는 다음과 같은 게으른 솔루션을 사용할 수 VS2015에서 작동하도록하기 위해서 : 추가
나는 당신에게 당신의 목적을 위해 그것을 사용하는 방법에 대한 아이디어를주고 자신의 예제 프로그램을 조금 변경 다음은 happyhttp.cpp의 시작 부분입니다. 당신에 대해 너무 어려운 찾을 수 있습니까 무엇
#ifdef WIN32
#pragma comment(lib, "ws2_32.lib")
#define strcasecmp _stricmp
#define _WINSOCK_DEPRECATED_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif
['getaddrinfo'] (http://manpages.courier-mta.org/htmlman3/getaddrinfo.3.html)() ['socket'] (HTTP 다음 : //manpages.courier-mta.org/htmlman2/socket.2.html)(), ['connect'] (http://manpages.courier-mta.org/htmlman2/connect.2.html) (), ['write'] (http://manpages.courier-mta.org/htmlman2/write.2.html)() 그리고 마침내 ['read'] (http : //manpages.courier-mta. org/htmlman2/read.2.html)()? –
나는 @SamVarshavchik 더 많은 방법 = 덜 오류, 그리고보다 구체적인에 동의합니다 –
@SamVarshavchik 나는 그 해결책을 내놓은 웹을 수색하는 동안 분명히 예제를 찾지 못했습니다. 나는 그것을 조사 할 것이다 –