我觉得最好还是先解释一下背景,这样问题就不会太过复杂。我想为一个项目发布一些启动代码,希望我的学生能够参与其中。该项目涉及通过一些互联网网页进行数据爬取,因此,我想提供一个URLStream类,以便下载一个输入URL的HTML并将其作为字符串返回给他们。
问题在于,我找不到特别好的处理网络的跨平台方法(学生使用的是Mac/Windows/Linux操作系统)。我知道像Boost asio和libCurl这样的库,但使用它们的问题在于我无法强制所有学生都下载它们。所以我的问题有两个:
1. 有没有什么好的方式可以提供这种跨平台的网络代码给他们?
2. 如果只有库才能解决这个问题,那么有没有办法把库附加到启动项目中,让学生不必下载它?我知道这可能是一个愚蠢的问题,但我似乎找不到是否有可能实现这一点。
问题在于,我找不到特别好的处理网络的跨平台方法(学生使用的是Mac/Windows/Linux操作系统)。我知道像Boost asio和libCurl这样的库,但使用它们的问题在于我无法强制所有学生都下载它们。所以我的问题有两个:
1. 有没有什么好的方式可以提供这种跨平台的网络代码给他们?
2. 如果只有库才能解决这个问题,那么有没有办法把库附加到启动项目中,让学生不必下载它?我知道这可能是一个愚蠢的问题,但我似乎找不到是否有可能实现这一点。
GET
请求。在这里好消息是,所有主要平台都支持Berkeley sockets,在Linux和macOS上应该是一对一的匹配,在Windows上略有不同。缺点是,如果您以前没有自己进行过低级网络编程,可能需要花费一些时间来理解,而且您需要编写大量的样板代码。 - Some programmer dude