[Erlang 学习笔记] 通过 erlang 向服务器发送 http post 请求

由于项目测试需要,在写机器人的时候用到了erlang的httpc来向server端发送post请求,自己做个记录,日后忘记了

可以查看,一下是使用实例:

t.erl

-module(t).

-export([t/0]).

-define(Name,"hosr").
-define(Passwd,112233).

t()->
	inets:start(),
	ssl:start(),
	case httpc:request(post,{"http://192.168.2.185:8080/login",
		[],"application/x-www-form-urlencoded", lists:concat(["username=" ,Name ,"&password=" ,Passwd])},[],[]) of 
		{ok, {_,_,Body}}-> Body;
		{error, Reason}->io:format("error cause ~p~n",[Reason])
	end.

通过文档可以了解到httpc:request/4的使用方法。如果request方法的参数填对就可以得到{ok,Result}, Result ->

{status_line(), headers(), Body} | {status_code(), Body} | request_id() },

这里得到的Result 为 {status_line(), headers(), Body},故上面是只取了需要的Body。即Boby为请求的返回值。

这里要注意的是Body的返回值是否符合期望,关联的是request 所提交的Url,键值等等内容是否和后端达成交

互,true -> 期望值;false -> [ ]。


方法可能不止一个,希望交流。



你可能感兴趣的:(erlang)