- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 WinInet API 简单地访问一个页面。访问它后,我希望能够将内容读入字符串。我已经初始化了根节点。这是我到目前为止得到的:
HINTERNET hChildURL = InternetOpenUrl(hInternetRoot,
LPCTSTR(CString("http://www.google.com/")),
NULL,
0,
0,
0);
在此之后,我知道您必须利用 InternetReadFile 来实际提取数据。有人可以提供一个详细的例子来说明如何做到这一点。我不是特别熟悉 C 风格的文件函数和缓冲区的使用,所以请放轻松。
另一方面,我应该使用不同的或更现代的 Windows API 来代替 吗?从长远来看,我被指派开发一个应用程序,该应用程序将充当客户端并使用 HTTP 和 HTTPS 与远程服务器发送/接收数据。我走的路对吗?
编辑:更具体的要求:它必须用 C++ 编写,必须与 Win XP 及更高版本兼容,并且必须仅使用标准 Windows 库。除此之外,我可以随心所欲。
最佳答案
好吧,你一次只读一段:
HINTERNET Request = InternetOpenUrl(...);
if(Request != NULL)
{
BYTE Buffer[8192];
DWORD BytesRead;
while(InternetReadFile(Request, Buffer, 8192, &BytesRead) && BytesRead != 0)
{
// do something with Buffer
}
InternetCloseHandle(Request);
Request = NULL;
}
关于.net - 帮助 <WinInet.h> API 中的 InternetOpenUrl 和 InternetReadFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3407141/
为了获取 html 页面,我已经使用以下内容一段时间了,没有任何问题。现在,只要网站花费很长时间(1 分钟以上)来提供页面,我就会收到 I/O 1784 错误。我猜真正的错误是我的进程超时了。我该如何
我在 Delphi 中使用 WinInet.h 通过 HTTP 下载文件,平均大小在 30 KB 到 1.5 MB 之间。 var Buf: array[0..BUFFER_SIZE - 1] o
我需要有关从网页获取第一行的帮助,找到了一个与 ipchicken.com 一起使用的小脚本。但我不能用我的网络脚本运行它,发布原始代码因为我对所有事情都很生气......为此!我在这里搜索,但没有找
我有以下代码从服务器下载一些 rss 文件,但到目前为止我得到的 rss 文件的版本不完整。(?)代码如下 - #include #include #include #include #include
我有一个发送分块传输编码数据的服务器。我使用 InternetReadFile 读取数据,但 InternetReadFile 在读取第一个 block 后失败并返回 12004。我使用 fiddle
HINTERNET hInternet, hFtpSession, hFile; hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIREC
我是这里网站的新人,所以如果我在这篇文章中做错了什么,请原谅我。 我正在使用 WinINet 并尝试从 Internet 下载一个 binary file 但是,由于某种原因,当我到达实际下载该文件时
我正在尝试使用 C++ 中的 WinHTTP 获取文件的内容。该文件是一个 XML 文件,由服务器上的可执行文件生成。 用于初始化、连接甚至读取指定服务器地址上的文件的代码正在运行。 // Conne
在为 Windows Compact 2013 编写的 C++ 应用程序中尝试从 Internet 下载文件时,我遇到了一个非常奇怪的问题。 BOOL WWW::Read(char* buffer,
我正在尝试使用 WinINet 库调用从 http 服务器下载文件。它在我的本地网络服务器上工作得很好。但是当我试图从互联网上下载一些东西时,InternetReadFile 只读取 ~10kb 的任
我想将使用InternetReadFile下载的utf-8编码的网页源代码转换为windows可以识别的utf-16。 这里是代码片段: HINTERNET hConnect,hSession; ch
我可以下载文本文档(.html、.txt 等),但无法下载图像或 exe。我很确定这是因为我使用的是 char,而这些文件是二进制的。我知道在 C# 中我会使用一个字节。但是在这种情况下我会使用什么数
我的应用程序需要通过检索文本内容来处理 URL 列表。我的互联网连接是由启动的 myTimeOut:= 2000; InternetSetOption(nil, INTERNET_OPTION_CON
我正在编写一个跨平台应用程序。我需要从长轮询网址获取数据。 在 Mac/Linux 上我可以使用curl,curl_easy_perform()会自动处理所有事情。 在 Windows 上我必须使用
我在使用 InternetReadFile 时遇到问题,如果我在没有代理的计算机上运行该应用程序,该应用程序运行正常,但如果我尝试在使用代理的计算机上使用,我会收到错误 87(参数不正确) . 那是我
我对 WinInet 的 InternetReadFile (C++) 有疑问。 在极少数情况下,该函数失败并且 GetLastError 返回提到的错误 0x8007007a(根据 ErrorLoo
我在使用以下代码时遇到了一些问题。我见过大量使用 InternetReadFile 保存到文件的示例。但是我找不到一个,或者让它为 char[] 工作。我想把szBuffer加起来得到holdBuff
我正在尝试使用 WinInet API 简单地访问一个页面。访问它后,我希望能够将内容读入字符串。我已经初始化了根节点。这是我到目前为止得到的: HINTERNET hChildURL = Inter
我是一名优秀的程序员,十分优秀!