首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用osx汇编语言从url下载文件

用osx汇编语言从url下载文件
EN

Stack Overflow用户
提问于 2014-02-19 07:06:51
回答 1查看 1K关注 0票数 0

对于使用bash或shell下载文件,我调用execve运行curl命令

代码语言:javascript
复制
  int execve(char *fname, char **argp, char **envp);

但问题是,我希望用自己的代码下载文件,而不是使用curl或其他代码。

我学习了curl源代码,但是它太大了,很难弄清楚。

有没有办法在我的程序中下载一个文件,而不用在mac中使用另一个带有英特尔64的程序。

任何解决这个问题的线索都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2014-02-19 08:28:33

从哪里下载?

如果假设您想从WWW下载,这是非常简单的任务:

  1. 使用sys_socketcall (eax=102)创建一个套接字,然后连接到所需的URL,然后发送一个HTTP命令: http_request db "GET /file_url HTTP/1.1“、13、10、13、10
  2. 按行读取套接字,直到收到双CRLF (类似于请求行)。接收到的第一行包含HTTP状态代码。如果这一行以“200 OK”开头,那么一切都没问题。(嗯,还有其他的状态代码,其中有些并不完全是错误,但在最简单的情况下,只有'200 OK‘的问题。)以下接收到的行,在双CRLF之前被称为服务器头,可以包含一些有用的信息,但是要了解详细信息,请阅读HTTP规范
  3. 在双CRLF之后,如果状态为“200 OK”,则发送所请求的文件。只需读取套接字并存储文件,直到服务器关闭套接字。

对于其他Internet协议(如FTP),模式通常是相同的,只是命令不同。

注意:正确的错误处理可能比这个简单的算法困难得多。

参考:LSCR项目包含关于Linux系统调用和示例的非常有用的以程序集为中心的文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21873430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档