这里SendPost()会向服务器发送HTTP GET请求。当我用它来编译这段代码时,它显示“错误C2275:'HINTERNET':非法使用这种类型作为表达式”。即使它显示错误,我也会在程序的开头添加“wininet.h”。发出HTTP请求时发生Visual C++编译错误
void SendPost(TCHAR *szName, TCHAR *szNumber, YACINFO *yi)
{
TCHAR szText[128], szLogText[256], szFormat[256];
GetDateTimeString(szText, 128);
LoadString(yi->hinst, IDS_INCOMING_CALL_HEADER, szFormat, 256);
_snprintf(szLogText, 256, szFormat, szText);
LoadString(yi->hinst, IDS_LOGFILE_NAME, szFormat, 256);
_snprintf(szLogText, 256, szFormat, szName);
LoadString(yi->hinst, IDS_LOGFILE_NUMBER, szFormat, 256);
_snprintf(szLogText, 256, szFormat, szNumber);
MessageBox(NULL,szNumber,"Status",MB_OK);
HINTERNET hSession = InternetOpen("Utility", 0,NULL, NULL, 0);
HINTERNET hOpenUrl = InternetOpenUrl(hSession,"http://www.ourwebsite.com/index.php?sender=123&&receiver=124&&msgdata=sample SMS today&&recvtime=01:12&&msgid=123458", NULL,0, 1, 1);
if(hOpenUrl == NULL){
//invalid URL
}
InternetCloseHandle(hOpener);
InternetCloseHandle(hSession);
MessageBox(NULL,"Request Send","Status",MB_OK);
}
哪一行是编译错误? – Joe
而且 - 它是否适用于更简单的URL?该URL中是否有某些内容会导致编译器混淆? – Joe
以“HINTERNET hSession”开头的错误显示。它甚至不编译。 –