HttpQueryInfo报错
file1.php
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> $file = "D:\\ReadFileTo.txt"; $handle = fopen($file, 'r'); $sContent = ''; while(false != ($a = fread($handle, 8080))){//返回false表示已经读取到文件末尾 $sContent .= $a; } fclose($handle); echo "$sContent";
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include<windows.h> #include<wininet.h> #include<iostream.h> #pragma comment(lib,"wininet.lib") #define DATA_CACHE_SIZE 1024*10 int main(int argc, char* argv[]) { printf("Hello World!n"); int i = 0; char pulr[] = "file1.php"; HINTERNET ヒンターネット=::InternetOpen( "http ジェネリック", INTERNET_OPEN_TYPE_PRECONFIG、 NULL、 NULL、 0); もし (!ヒント) { printf("インターネットオープン"); システム("一時停止"); 0を返します。 } i = 1; ヒンターネット hconnect= ::InternetConnect( ヒントネット、 "144.20.80.27", 8080、 NULL, //lpszユーザー名 NULL, //lpszパスワード INTERNET_SERVICE_HTTP、 0, //dwFlags 0 //dwContext ); if (!hconnect) { printf("インターネット接続"); システム("一時停止"); 0を返します。 } ヒンターネット hHttpOpenRequest=::HttpOpenRequest( 接続、 "役職"、 プル、 "HTTP/1.1"、 NULL、 0、 INTERNET_FLAG_RELOAD、 0 ); if (!hHttpOpenRequest) { printf("HttpOpenRequestn"); システム("一時停止"); 0を返します。 } char psHeader[] = "Content-Type: application/x-www-form-urlencoded nr"; if (!(HttpAddRequestHeaders( hHttpOpenRequest、 psヘッダー、 strlen(psヘッダー)、 HTTP_ADDREQ_FLAG_REPLACE|HTTP_ADDREQ_FLAG_ADD ))) { printf("HttpAddRequestHeadersn"); システム("一時停止"); 0を返します。 } char *strRet=""; //"Yjr|fc|zf|cym|wjf||role1|role2|role3|role4"; char pstrContent[] = "ユーザー名=管理者&パスワード=-1"; if (! (HttpSendRequest( hHttpOpenRequest、 NULL、 0、 (LPVOID)(LPCSTR)pstrコンテンツ、 strlen(pstrコンテンツ) ))) { printf("HttpSendRequestn"); システム("一時停止"); 0を返します。 } // ファイルの長さを取得します。 DWORD dwFileSize=0; DWORD dwLengthBufQuery = sizeof(dwFileSize); DWORD dwIndex=0; BOOL bQuery = ::HttpQueryInfo(hHttpOpenRequest, HTTP_QUERY_CONTENT_LENGTH |HTTP_QUERY_FLAG_NUMBER、 (LPVOID)&dwFileSize/*bufQuery*/, &dwLengthBufQuery、 &dwインデックス) ; if (!bQuery) { printf("HttpQueryInfon"); システム("一時停止"); 0を返します。 } // ファイルにバッファを割り当てます。 char* バッファ = 新しい char[dwFileSize+1] ; //HTTP 書き込みが許可されていないため、InternetReadFile を再利用する必要はありません DWORD dw長さ=0; DWORD dwLengthOne=1; BOOL bRead=TRUE; charbufferOne[DATA_CACHE_SIZE+10]; strcpy(バッファ,""); while (bRead && dwLengthOne>0) { strcpy(bufferOne,""); if (InternetReadFile( hHttpOpenRequest、 バッファワン、 DATA_CACHE_SIZE+1、 &dwLengthOne ) ) { if (dwLengthOne>0) { memcpy(&buffer[dwLength],bufferOne,dwLengthOne); dw長さ+=dw長さ1; //受信したデータパケットのサイズと全体のデータパケットのサイズとの比較 if (dwLength > dwFileSize) { printf("whilen"); システム("一時停止"); 0を返します。 } バッファ[dwLength]=' '; } } }バッファ[dwLength]=' '; //ワイド文字に DWORD dwSize = MultiByteTowideChar (CP_ACP, 0, バッファ, -1, NULL, 0); WCHAR *wchr = 新しい WCHAR [dwSize]; ::MultiByteTowideChar(CP_ACP,MB_ERR_INVALID_CHARS,バッファ,-1, wchr,dwSize); printf(バッファ); // wprintf(wchr); [] wchr を削除します。 [] バッファを削除します。 ::InternetCloseHandle(hHttpOpenRequest);hHttpOpenRequest=NULL; ::InternetCloseHandle(hconnect);hconnect=NULL; ::InternetCloseHandle(ヒンターネット);ヒンターネット=NULL; printf("n"); システム("一時停止"); 0を返します。 } <div class="clear"></div></iostream.h></wininet.h></windows.h></stdlib.h></stdio.h>