【问题标题】:Windows HTTP GET as a web-browserWindows HTTP GET 作为网络浏览器
【发布时间】:2021-05-19 11:45:29
【问题描述】:

环境: 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”?

【问题讨论】:

  • 响应可能会告诉您重定向到 https url,这意味着您还必须构建一个 HTTPS 客户端。 (或使用现有的)
  • 是的,Web 浏览器重定向到 https。这是否意味着我必须使用 SSL、加密和证书进行构建? ……对我来说可能是高水平的。也许是现有的。

标签: windows http get


【解决方案1】:

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

【讨论】:

  • 这个问题仍然存在。我没有收到回复或新链接,只是永久删除。所以我仍然无法作为网络浏览器得到回复:(。但非常感谢其他信息:) 如果我申请“GET /apps/stocks/FDX HTTP/1.1\r\nHost: www.iextrading.com\r \n\r\n" 我得到了永久删除而不是错误的请求。
  • 阅读规范。服务器正在将您重定向到另一个资源。
猜你喜欢
  • 2011-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-30
  • 1970-01-01
  • 2010-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多