我正在尝试使用端口 80 连接到一个网站 (www.ucf.edu),并发送一个 GET 请求,但我使用相同的方法得到了与其他学生不一致的结果。在执行此操作之前,我们必须使用 SSH 安全地连接到我们的学校服务器。连接后,我们被指示发送获取请求“GET /index.html HTTP/1.1”,当我发送此请求时,我得到不一致的结果。
我试过在 Windows 上使用 Putty,在虚拟机上使用 ubuntu 的命令提示符,但无济于事。
预期结果:
telnet www.ucf.edu 80
尝试 10.171.52.44
连接到 www.ucf.edu。
转义字符是“^]”。
获取 /index.html HTTP/1.1\r\n
发现 HTTP/1.1 302
服务器:阿帕奇
位置:https : //www.ucf.edu/index.html
等等等等
实际结果:
telnet www.ucf.edu 80
正在尝试 52.5.147.12...
连接到 edums-dr-alb-211439321.us-east-1.elb.amazonaws.com。
转义字符是“^]”。
获取 /index.html HTTP/1.1\r\n
HTTP/1.1 400 错误请求
服务器:awselb/2.0
日期:2019 年 10 月 3 日星期四 05:49:42 GMT
对于您而言,www.ucf.edu 解析为不同的 IP 地址(公共互联网而不是私有 10.xx.xx.xx 地址)。显然这是一个不同的服务器。
您提到您必须先使用 SSH 登录到学校服务器。我假设您应该在连接到学校服务器时从该 SSH 会话中运行 telnet 命令(在这种情况下,您不会在互联网上获得真正的 www.ucf.edu,而是使用使用10.xx.xx.xx 私有地址)。
但是您提到您从 Windows 和 Linux 获得相同的结果,所以我只能假设您在执行此操作时没有登录到 SSH 服务器。(如果您连接到 SSH,则客户端操作系统不会有任何区别。)或者您确实登录了,但再次注销了您不应该这样做的情况。
所以你最好仔细检查说明。因为我很确定您在此过程中错过了一步。或者走的太多了。