我的作业
“这项任务的目标是实践网络编程并了解应用程序
层协议。具体来说,您将实施一个HTTP client
程序来下载Web
来自互联网上各种Web服务器的对象“
我无法使用URL class
或URLConnection
课程。所以这让它变得有点困难。
我知道创建连接的步骤是创建一个Socket,然后连接到URL并使用Buffered I / O流与服务器通信。
我一直在寻找在线示例,但都使用URL
和URLConnection classes
。
所以我的思维过程是
创建套接字 - 将其绑定到url + port 80
(我发现端口80用于http请求?可能是错误的)
创建I/O stream
到套接字
握手(我不确切知道它是如何运作的)
我的思维过程是否正确?还有我如何实现下载,一旦得到正确的响应,就可以从服务器上说出一张图片?
答案 0 :(得分:3)
这是一个关于实际在超文本传输协议(HTTP)中发送的内容的教程:https://www.jmarshall.com/easy/http/
HTTP Exchange示例
要检索网址
的文件http://www.somehost.com/path/file.html
首先向主机www.somehost.com,端口80打开一个套接字(使用默认端口80,因为URL中没有指定)。然后,通过套接字发送类似下面的内容:
GET /path/file.html HTTP/1.0 From: someuser@jmarshall.com User-Agent: HTTPTool/1.0 [blank line here]
服务器应该响应以下内容,通过相同的套接字发回:
HTTP/1.0 200 OK Date: Fri, 31 Dec 1999 23:59:59 GMT Content-Type: text/html Content-Length: 1354 <html> <body> <h1>Happy New Millennium!</h1> (more file contents) . . . </body> </html>
发送响应后,服务器关闭套接字。