如何以编程方式从Web下载文件?

如何以编程方式从Web下载文件?,第1张

概述如何从C等编程语言的服务器下载文件?我理解更高级语言有魔术函数,如“download_file_from_url()”,但它们无法帮助我理解实际发生的事情.我对套接字有点熟悉,但网络编程一般对我来说仍然是一个黑盒子.谢谢你的帮助. 基本上,在低级别,程序打开一个套接字到服务器上的端口80(通常),并向它发送一个如下所示的请求: GET /index.html HTTP/1.1Host: stac 如何从C等编程语言的服务器下载文件?我理解更高级语言有魔术函数,如“download_file_from_url()”,但它们无法帮助我理解实际发生的事情.我对套接字有点熟悉,但网络编程一般对我来说仍然是一个黑盒子.谢谢你的帮助.解决方法 基本上,在低级别,程序打开一个套接字到服务器上的端口80(通常),并向它发送一个如下所示的请求:

GET /index.HTML http/1.1Host: stackoverflow.com

……后面跟一个空行.

然后,服务器响应数据,该数据通常由几个标题行,空行和请求的资源组成.使用http 1.1,默认设置是为后续请求保持连接活动(尽管服务器可以在它喜欢时终止它);如果我使用http 1.0或添加了Connection:close标头,服务器将在发送资源后中断连接.

查看Wikipedia article on HTTP了解详细信息,或者如果您真的想进入它,请查看the spec(一体化页面here).如果你有telnet(你可能会这样做),你可以看到自己的样子.只需键入telnet stackoverflow.com 80,然后键入上面的行.记得在空白行上按Enter键.

你不想重新发明这个轮子.实际上,所有语言和环境都有一个库可以帮助您处理所有复杂问题. (例如,尝试上面的例子,www.stackoverflow.com而不是两个地方的stackoverflow.com – 你得到了一个“永久移动”响应,因为SO团队希望SO在stackoverflow.com,而不是www.stackoverflow. com.还有“暂时移动”的回复等等.)

总结

以上是内存溢出为你收集整理的如何以编程方式从Web下载文件?全部内容,希望文章能够帮你解决如何以编程方式从Web下载文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1052508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存