我正在尝试连接并确保我们设计的仪器提供的网络服务器上存在各种页面。我正在尝试使用 WinInet 命令通过 C++ Win32 执行此操作。
我很高兴我已通过 HTTP 正确连接到网络服务器:
hInternet = InternetOpen("Test", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0/*INTERNET_FLAG_ASYNC*/);
hhttp = InternetConnect(hInternet, "192.168.111.222", INTERNET_DEFAULT_HTTP_PORT, "admin", "admin", INTERNET_SERVICE_HTTP, 0, 0);
我相信我必须打开一个请求。
hHttpRequest = HttpOpenRequest(hhttp, "GET", "galogo.png", NULL, "192.168.111.222", lplpszAcceptTypes, INTERNET_FLAG_RELOAD | INTERNET_FLAG_PRAGMA_NOCACHE, 0);
然后发送请求。
HttpSendRequest(hHttpRequest, NULL, 0, NULL, 0)
注:192.168.111.222是运行webserver的单位地址,galogo.png是首页显示的图片。另请注意,我在每个语句之间进行错误检查,因此如果我断开以太网连接,那么我确实会失败。
最初我确实尝试连接到 home.html 页面,但这总是通过,所以我想我应该尝试获取图像,但我可能缺乏知识。其他示例似乎随后会流式传输数据,但我不确定是否需要这样做。
我见过的大多数示例似乎都以这种格式显示 HtppSendRequest,我不太了解标头等。也许在这里我出错了。