Files
Work/wininet/scraps.txt
2024-08-07 09:16:27 -04:00

88 lines
2.8 KiB
Plaintext

bool HTTPConnection::get(const String &action,HTTPHeader &httpHeader,HTTPData &httpData)
{
DWORD dwSize(0);
String strHeaders;
// String strHeader;
bool sendResult=false;
LPSTR accessTypes[2]={"*/*",0};
if(!isOkay())return false;
mhRequest=::HttpOpenRequest(getHANDLE(),"GET",action.str(),HTTP_VERSION,0,(const char**)&accessTypes,INTERNET_FLAG_RELOAD|INTERNET_FLAG_NO_CACHE_WRITE,0);
if(!mhRequest)return false;
// strHeader=httpHeader.serialize();
if(!::HttpSendRequest(mhRequest,0,0,0,0))return false;
// if(httpData.size()&&!strHeader.isNull())sendResult=::HttpSendRequest(mhRequest,strHeader.str(),strHeader.length(),&httpData[0],httpData.size());
// else sendResult=::HttpSendRequest(mhRequest,0,0,0,0);
// if(!sendResult)return false;
::HttpQueryInfo(mhRequest,HTTP_QUERY_RAW_HEADERS_CRLF,0,&dwSize,0);
if(!dwSize)return false;
strHeaders.reserve(dwSize+1);
::HttpQueryInfo(mhRequest,HTTP_QUERY_RAW_HEADERS_CRLF,strHeaders,&dwSize,0);
httpHeader=strHeaders;
if(httpHeader.isErrorResponse())return false;
httpData.size(httpHeader.getContentLength());
if(!httpData.size())httpData.size(32768);
::InternetReadFile(mhRequest,&httpData[0],httpData.size(),&dwSize);
if(dwSize<httpData.size())
{
HTTPData tmpData;
tmpData.size(dwSize);
for(int index=0;index<dwSize;index++)tmpData[index]=httpData[index];
httpData=tmpData;
}
closeRequest();
return true;
}
/*
int main(int argc,char **argv)
{
Internet internet;
HTTPConnection http;
HTTPHeader httpHeader;
HTTPData httpData;
String strApplicationExtension;
::OutputDebugString(Internet::getProxyServer()+String("\n"));
if(!internet.open())return 0;
if(!http.connect(internet,"localhost"))return 0;
// httpData="?mailid=10237";
// http.get("mailclient/servlet/ReadMailServlet?mailid=10237",httpHeader,httpData);
// http.get("diveplanner/aladinv1.00.zip",httpHeader,httpData);
http.get("album/diving/divecayman/Cayman10_l.jpg",httpHeader,httpData);
strApplicationExtension=httpHeader.getApplicationExtension();
// File outFile(String("c:\\mail")+strApplicationExtension,"wb");
File outFile(String("c:\\mail.jpg"),"wb");
outFile.write(&httpData[0],httpData.size());
outFile.close();
::OutputDebugString("Connected.");
return 1;
}
*/
// File outFile("c:\\mail.txt","wb");
// outFile.write(&httpData[0],httpData.size());
// http.post("mailclient/servlet/ReadMailServlet",formHeader,httpData);
// formHeader.setContentType("application/x-www-form-urlencoded");
// httpData="?mailid=10237";
// http.post("mailclient/servlet/ReadMailServlet",formHeader,httpData);
// ::OutputDebugString(httpData);
// if(!http.getPage("//album//index.html",httpHeader,pageData))return 0;
// if(!http.get("//engineer//engineer.zip",httpHeader,httpData))return 0;
// File outFile("c:\\engineer.zip","wb");
// outFile.write(&httpData[0],httpData.size());