erlanghttpc

编程

erlang HTTP 客户端 使用实例

HTTPC的请求范式

HTTPC(Method(),Request(),Httoptions().Options()) 其中

Method=head|get|put|psot|trace|options|delete (一般主要用 get ,post ,put ,delete)

Request= {url(),headers()}|{url(),headers(),content_type(),body()}

前者用于 get ,后者一般用于post ,put ,而delet 方法取决于你URL的设计

Url () 就是 请求的地址 不过注意,必须加上http 的前缀啊  就像http://myapp.com:8080 ,使用myapp.com:8080 会报错

headers={filed(),Value()} 是 HTTP请求头的属性键值表,例子:[{"content-length","216"}] 注意 键和值都是字符串啊

content-type= strings() 就是传输内容的类型 例子 “application/json" 说明传递的是字符串

body() =strings() 不要解释了,就是Http的内容了

简单测试 

application:start(inets).

httpc:set_options([{cookies,enabled}]).

httpc:request("http://www.omdbapi.com/?i=tt3896198&apikey=yourkey").

设置请求头 Authorization

application:start(inets).

Url="http://www.summergao.com:90/api/blog_musics?_sortField=music_id&_sortDir=RANDOM".

{ok,Result} = httpc:request(get, {Url, [{"Authorization","Basic U3VtbWVyR2FvOlN1bW1lcjdhbe=="}]}, [], []).

向www.myapp.com 提交一个JSON 。JOSN是个键-值对象 user="mike",password= "1234"

application:start(inets).

Msg=rf4627:encode({obj,[{user,"mike",password,"1234"}]}).

{ok,Result}=httpc:request(post,{"http://myapp.com:8080",[],applcation/json,Msg},[],[]).

注意:在使用JOSN 库( https://github.com/tonyg/erlang-rfc4627 )之前,先要使用code:add_path("你的JOSN库的beam 文件路径") 把这个库载入进来

申请OMDB Api Key: http://www.omdbapi.com/apikey.aspx

详情请参考: http://erlang.org/doc/man/httpc.html#request-2

以上是 erlanghttpc 的全部内容, 来源链接: utcz.com/z/517287.html

回到顶部