디자인 할 계측기가 제공하는 웹 서버에 다양한 페이지가 연결되도록 보장하려고합니다. WinInet 명령을 사용하여 C++ Win32를 통해이 작업을 수행하려고합니다.WinINet을 사용하여 웹 페이지가 존재하는 경우 어떻게 찾을 수 있습니까?
은 내가 HTTP를 통해 웹 서버에 제대로 연결 한 것을 기쁘게 생각합니다 :
hInternet = InternetOpen("Test", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0/*INTERNET_FLAG_ASYNC*/);
hhttp = InternetConnect(hInternet, "192.168.111.222", INTERNET_DEFAULT_HTTP_PORT, "admin", "admin", INTERNET_SERVICE_HTTP, 0, 0);
내가 다음 요청을 열어야합니다 생각합니다.
hHttpRequest = HttpOpenRequest(hhttp, "GET", "galogo.png", NULL, "192.168.111.222", lplpszAcceptTypes, INTERNET_FLAG_RELOAD | INTERNET_FLAG_PRAGMA_NOCACHE, 0);
다음으로 요청을 보냅니다.
HttpSendRequest(hHttpRequest, NULL, 0, NULL, 0)
참고 : 192.168.111.222는 웹 서버와 galogo.png를 실행하는 장치의 주소가 홈 페이지에 표시되는 이미지입니다. 이더넷의 연결을 끊으면 오류가 발생합니다.
처음에는 home.html 페이지에 연결하려고 시도했지만 항상 전달 되었기 때문에 이미지를 가져와야한다고 생각했지만 지식이 부족한 것 같습니다. 다른 예는 데이터를 스트리밍하는 것처럼 보이지만 이렇게해야하는지 잘 모르겠습니다.
내가 본 예제 중 대부분은이 형식으로 HtppSendRequest를 표시하는 것으로 보이며 머리글 등을 실제로 이해하지 못합니다. 여기에 제가 잘못 가고있는 것 같습니다.
Google "HTTP HEAD request"(** 매우 중요 ** : 해당 검색의 HTTP 부분을 포함하십시오). 나는 그것이 당신에게 힌트 또는 2를 줄지도 모른다라고 생각한다. – WhozCraig
Google HEAD를 보는 것은 헤더 만 검색하는 GET의 변형입니다. 나는 그것을 함축하는 것에 가지 않고 있었지만, 단지 나를 같은 보트에두고 가지 않을 것인가? – user1853330