#include <windows.h>
#include <wininet.h>
#include <iostream>
using std::cout;
void main()
{
auto HINTERNET hOpen = InternetOpen(
"MyAgent",
INTERNET_OPEN_TYPE_DIRECT,
NULL,
NULL,
0);
cout<<"hOpen="<<(INT)hOpen<<"\nGetLastError()="<<GetLastError()<<"\n\n\n";
auto HINTERNET hUrl = InternetOpenUrl(
hOpen,
"http://www.freenet.am",
0,0,
INTERNET_FLAG_RELOAD | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_NO_COOKIES,
0);
cout<<"hUrl="<<(INT)hUrl<<"\nGetLastError()="<<GetLastError()<<"\n\n\n";
auto char buffer[128];
auto DWORD uLong;
while(1){
if(InternetReadFile(hUrl,buffer,128,&uLong) == FALSE){
MessageBox(0,"ERROR InternetReadFile returns NULL","ERROR",0);
break;
}
for(UINT i=0;i<128;i++){
cout<<buffer;
}
if(uLong < 128){
break;
}
InternetSetFilePointer(hUrl,128,0,FILE_CURRENT,0);
}
Sleep(10000);
cout<<"\n\n\nGetLastError()="<<GetLastError()<<"\n";
InternetCloseHandle(hUrl);
InternetCloseHandle(hOpen);
cout<<"\n\n\nGetLastError()="<<GetLastError()<<"\n";
}
Internet***** APIs, HELP
I need some working examples.
HELP!
This code is working fine, but
Код:
but when I try to use the
InternetConnect(...),
HttpOpenRequest(...),
HttpSendRequest(...)
instead of InternetOpenUrl(...)
it fails when calling HttpSendRequest(...) :(
it sends packets to the server and then fails.
GetLastError() returns 12007 error code,
which is not documented in the Platform SDK 2003 error codes.
look down for the details
Код:
#include <windows.h>
#include <wininet.h>
#include <iostream>
using std::cout;
void main()
{
auto HINTERNET hOpen = InternetOpen(
"MyAgent",
INTERNET_OPEN_TYPE_DIRECT,
NULL,
NULL,
0);
cout<<"hOpen="<<(INT)hOpen<<"\nGetLastError()="<<GetLastError()<<"\n\n\n";
auto HINTERNET hConnect = InternetConnect(
hOpen,
"http://www.freenet.am",
80,
NULL,
NULL,
INTERNET_SERVICE_HTTP,
0,0);
cout<<"hConnect="<<(INT)hConnect<<"\nGetLastError()="<<GetLastError()<<"\n\n\n";
auto HINTERNET hRequest = HttpOpenRequest(
hConnect,
"GET",
"index.html",
0,
"http://forum.vision.am",
(LPCSTR *)"",
INTERNET_FLAG_NO_AUTH | INTERNET_FLAG_RELOAD | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_CACHE_WRITE,
0);
cout<<"hRequest="<<(INT)hRequest<<"\nGetLastError()="<<GetLastError()<<"\n\n\n";
auto BOOL sendRes = HttpSendRequest(
hRequest,
0,0,
0,0);
cout<<"sendRes="<<(INT)sendRes<<"\nGetLastError()="<<GetLastError()<<"\n\n\n";
}
#include <wininet.h>
#include <iostream>
using std::cout;
void main()
{
auto HINTERNET hOpen = InternetOpen(
"MyAgent",
INTERNET_OPEN_TYPE_DIRECT,
NULL,
NULL,
0);
cout<<"hOpen="<<(INT)hOpen<<"\nGetLastError()="<<GetLastError()<<"\n\n\n";
auto HINTERNET hConnect = InternetConnect(
hOpen,
"http://www.freenet.am",
80,
NULL,
NULL,
INTERNET_SERVICE_HTTP,
0,0);
cout<<"hConnect="<<(INT)hConnect<<"\nGetLastError()="<<GetLastError()<<"\n\n\n";
auto HINTERNET hRequest = HttpOpenRequest(
hConnect,
"GET",
"index.html",
0,
"http://forum.vision.am",
(LPCSTR *)"",
INTERNET_FLAG_NO_AUTH | INTERNET_FLAG_RELOAD | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_CACHE_WRITE,
0);
cout<<"hRequest="<<(INT)hRequest<<"\nGetLastError()="<<GetLastError()<<"\n\n\n";
auto BOOL sendRes = HttpSendRequest(
hRequest,
0,0,
0,0);
cout<<"sendRes="<<(INT)sendRes<<"\nGetLastError()="<<GetLastError()<<"\n\n\n";
}
The console output
Код:
hOpen=13369348
GetLastError()=0
hConnect=13369352
GetLastError()=0
hRequest=13369356
GetLastError()=0
sendRes=0
GetLastError()=12007
Press any key to continue
GetLastError()=0
hConnect=13369352
GetLastError()=0
hRequest=13369356
GetLastError()=0
sendRes=0
GetLastError()=12007
Press any key to continue