2010-03-25 7 views
2

바로 알 수 있습니다. winHTTP GET 요청 C++

  • 브라우저 요청이 모습입니다

    같은

    GET /index.html이 HTTP/1.1

  • 이 WINHTTP가하는 일입니다

    GET http://site.com/index.html HTTP/1.1

WinHTTP 요청이 동일한 형식이 될 수 있습니까? 일반 사람으로? 내가 사용하고 VC++는

+0

나는 답을 모른다. 그러나 나는 왜 당신이 이것을 원하고 있는지 궁금하다. – SteelBytes

+0

Host : site.com을 별도의 줄로 보내야하고 GET에서만 경로를 보내야합니까? 실제로 RFC를 읽은 후 GET URI 호스트에 명시된 사이트가 무시되어야한다고 말합니다. – jpyllman

+1

몇 가지 코드를 게시 할 수 있습니까? –

답변

4

귀하의 코드는 다음과 같아야 차이 만드는 경우 : 2008

// Specify an HTTP server. 
if (hSession) 
    hConnect = WinHttpConnect(hSession, L"www.example.com", 
           INTERNET_DEFAULT_HTTP_PORT, 0); 

// Create an HTTP request handle. 
if (hConnect) 
    hRequest = WinHttpOpenRequest(hConnect, L"GET", L"/path/resource.html", 
            NULL, WINHTTP_NO_REFERER, 
            WINHTTP_DEFAULT_ACCEPT_TYPES, 
            WINHTTP_FLAG_SECURE); 

// Send a request. 
if (hRequest) 
    bResults = WinHttpSendRequest(hRequest, 
            WINHTTP_NO_ADDITIONAL_HEADERS, 
            0, WINHTTP_NO_REQUEST_DATA, 0, 
            0, 0); 

당신이 당신의 코드에서 이러한 세 가지 호출을 게시 할 수 있습니까?

전체 URL은 두 개로 나뉩니다. 호스트 이름은 WinHttpConnect 호출에 지정되어 있지만 WinHttpOpenRequest 호출에 상대 리소스 경로가 지정되어 있습니다 (pwszObjectName 매개 변수). 귀하의 의견을 토대로 WinHttpConnect 전화에서 전체 URL을 지정하는 것으로 보입니다.