mfc http 파일 다운로드

먼저 다음과 같이 cinter넷 세션 클래스를 사용 하 여 HTTP 세션을 만들어야 합니다. 내 검색에 HTTP를 사용 하 여 파일을 다운로드 하려면, 난 많은 좋은 구현과 예제를 하지만 아무도 내 기준을 충족 만난-난 내 자신을 구현 하기 시작 했다. 나는 http를 통해 파일을 인출 하 고 디스크에이 파일을 작성, 다양 한 HTTP 코드를 표시 하는 순서 대로 반응 하거나 사용자에 게 일종의 메시지를 표시 해야 했습니다. 내가 찾은 가장 좋은 해결책은 내가 필요로 하는 클래스에 더 많은 기능을 추가할 수 있는 상태 콜백을 하 고 충분 한 공간이 허용 cintercosession에서 클래스를 파생 했다. 난이 방법을 HTTP를 통해 파일을 다운로드 하 여 보여주는 산책을 시도 합니다. 셋째, 우리는 HTTP 요청을 사용 하 여 열어야 합니다:: openrequest. Windows 용 디버깅 도구를 사용 하 여 MFC pdbs 다운로드 “c:program file 디버깅 도구에 대 한 windowssychk”/ie MyApp. exe/s SRV * c:symbols * http://msdl.microsoft.com/download/symbols getwebfile 반환 됩니다 반환 된 http 관련 DWORD 오류 코드입니다. pstragent는 클라이언트 이름을 포함 하는 문자열입니다 lpstrserver 서버 주소를 포함 하는 문자열입니다 nport 사용할 포트 번호의 int입니다 strfile는 서버에서 가져올 파일 이름의 cstring 문자열입니다. Windows 버전에 대 한 독립형 디버깅 도구를 다운로드 하 여 설치 합니다. openrequest에는 가져오기, 게시, 헤드, 올리기, 링크, 삭제 또는 연결 해제 중 하나가 될 수 있는이 요청의 동사가 포함 된 문자열에 대 한 포인터가 필요 합니다.

NULL 인 경우 GET을 사용 합니다. 또한 파일, 실행 모듈, 방금 지정한 동사와 연결 되는 검색 지정자를 포함 하는 문자열에 대 한 포인터도 필요 합니다. HTTP 헤더가 지정 되지 않은 경우이 요청이 가져온 주소를 포함 하는 문자열에 대 한 포인터도 필요 합니다. a dword의 컨텍스트 식별자에 대 한 openrequest, 1은 기본값 이며이 dword 연결 된 특정 chttcconnection 개체에 의해 만들어진 cintercosession 개체입니다. 클라이언트가 받아들이는 콘텐츠 형식을 포함 하는 null로 끝나는 문자열에 대 한 포인터입니다. NULL을 지정 하면 클라이언트는 text/* 형식의 문서만 받아들이며 서버에 알립니다. 는 CGI 변수 CONTENT_TYPE에 해당 합니다. openrequest에는 사용 되는 http 버전이 포함 된 포인터 문자열이 NULL 인 경우 http/1.0을 사용 해야 합니다.

마지막으로, 설정 될 HTTP 요청 플래그를 지정 하는 DWORD입니다. 다음 중 하나를 사용할 수 있습니다. 모든 항목이 제대로 표시 되 면 queryinfostatuscode가 HTTP_STATUS_OK를 반환 합니다. 그럼 우리가 버퍼에 데이터를 쓸 파일을 만들 버퍼를 할당할 수 있습니다, 파일의 끝까지 파일을 읽고 우리가 한 번 우리가 할 필요가 정리 할. 우리는 가로질러와 서 우리의 cinterntsession 개체를 닫을 수 있습니다 예외 처리 잊고. 크기 때문에 이러한 파일을 다운로드 하는 데 문제가 발생 하면 중단 된 다운로드를 다시 시작할 수 있는 다운로드 관리자를 사용해 보시기를 권장 합니다. 2 개의 아주 대중적인 다운로드 매니저는 다운로드 단축키이 고 간다! Zilla. 목록에 없으면 http://msdl.microsoft.com/download/symbols 항목을 추가 하 고 확인 하십시오. bcgcontrolbar 프로페셔널 에디션 데모 (100 개 이상의 샘플 애플리케이션 세트) 일부 버전의 Microsoft Visual Studio C:WindowsSymbolsdll 폴더에 MFC pdbs를 설치 합니다.

이 폴더가 있는 경우 필요한 MFC pdb를 복사할 수 있습니다. 또는 응용 프로그램 개발자에 게 이러한 파일을 개발 컴퓨터에 저장 하도록 요청할 수 있습니다. GitHub 2800만 이상의 개발자 들이 함께 호스트 및 코드를 검토 하 고, 프로젝트 관리, 그리고 함께 소프트웨어를 구축 하는 일을 고향입니다. 종속성 워커 완전히 사용 하는 무료입니다. 그러나, 당신은 그것의 배급에서 이익이 되지 않을지도 모른다,도 아니다 당신은 다른 제품으로 그것을 묶을 지도 모른다. 추가 하려는 헤더가 포함 된 null로 끝나는 문자열을 사용할 수 있습니다. 어떤 버그, 아이디어 또는 추가, 그냥 저자 전자 메일을 남길 경우. 명예! 건설적인 비판을 환영 합니다.