您的位置:首页 > 理论基础 > 计算机网络

记录下erlang中 用http下载文件

2015-06-23 15:00 585 查看
问题如题,这是在一个群里问的一个的问题。其实就是http的Server的上传下载的功能。庆亮回答了这个问题的一个解决方案。

ibrowse:start().
ibrowse:send_req("
http://img1.gtimg.com/12/1293/129340/12934049_980x1200_0.jpg", [], get, [], [{save_response_to_file, true}]).
如正常返回:





也可以自行指定目标文件保存路径:ibrowse:send_req("
http://img1.gtimg.com/12/1293/129340/12934049_980x1200_0.jpg", [], get, [], [{save_response_to_file, "/tmp/test.jpg"}]).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
那么这个问题是如何解决的呢?

不错,正是用了ibrowse框架。那么什么是ibrowse呢? 它是http的客户端框架。

ibrowse is a HTTP client written in erlang.(ibrowse是一个使用Erlang写的HTTP客户端。)

项目地址:https://github.com/cmullaparthi/ibrowse

准备工作:

1、下载源代码

使用Git获取元代码,在终端执行命令:

git clone https://github.com/cmullaparthi/ibrowse.git

2、编译源代码

使用rebar构建工具编译源代码:

./rebar compile


编译成功,会在ebin文件夹下生成.beam和.app文件

(注意:这里在把项目的依赖项放到如:deps路径下,在rel下面的retool.config文件中也要添加对应的路径。如下图:)



要是不添加这个位置,依赖项是引用不到的。

尝试下:首先进入shell,./rel/new_push/bin/new_push attach

1> ibrowse:start().

下面截图:



看得到,把test.jpg图片放到了/opt/new_push/rel/files的路径下(具体放在哪儿可以根据实际去搞)。

具体见下图:



并查看下图片:



而这个ibrowse 和erlang自带的inets有什么利弊区别,当然也可以用inets去搞。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: