微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

作为网络浏览器的 Windows HTTP GET

如何解决作为网络浏览器的 Windows HTTP GET

环境: Windows 10、Visual Studio 2017。

技能 C++专业; HTTP 新手;

问题: 我尝试从 iexTrading.com/apps/stocks/FDX 访问回复的 html 文本字符串,但没有成功。

尝试过 Winsock 函数 我尝试了一些函数 gethostbyname()、htons()、connect()、send() 和 recv(),它运行良好,例如对于站点“google.com”,帖子“GET / HTTP/1.1\r\nHost: www.google.com\r\n\r\n”有效。

对于站点“iexTrading.com”,帖子“GET / HTTP/1.1\r\nHost: www.iexTrading.com\r\n\r\n”返回:

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>Nginx</center>
</body>
</html>

如果我尝试获取 "GET / HTTP/1.1\r\nHost: www.iextrading.com/apps/stocks/FDX\r\n\r\n" 它说请求错误

但在任何网络浏览器中,我都看到“iexTrading.com”或“iexTrading.com/apps/stocks/FDX”工作正常。

期望: 是否有一个通用函数可以简单地返回与网络浏览器相同的 html 文本,或者如何读取特定的这个网址“iexTrading.com/apps/stocks/FDX”?

解决方法

主机名就是主机名。如果您想获取“http://iextrading.com/apps/stocks/FDX”,那么请求 URI 是“/apps/stocks/FDX”,而不是“/”。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。