通过 erlang 向服务器发送 http post 请求

 1 -module(t).
 2
 3 -export([test/0]).
 4
 5 test()->
 6     Method = post,
 7     URL = "http://192,168.124.10:3000/node/2.0/new",
 8     Header = [],
 9     Type = "application/json",
10     Body = "{\"name\":\"foo.example.com\"}",
11     HTTPOptions = [],
12     Options = [],
13     case httpc:request(Method, {URL, Header, Type, Body}, HTTPOptions, Options) of
14         {ok, {_,_,Body}}->
15             io:format("receive body:~p~n", [Body]),
16             {"id", Key} = lists:keyfind("id",1,json:parse(Body)),
17             io:format("Key is:~p~n", [Key]);
18         {error, Reason}->
19             io:format("error cause ~p~n",[Reason])
20     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 -> [ ]。

时间: 2024-09-29 19:38:41

通过 erlang 向服务器发送 http post 请求的相关文章

解决连接vcenter (客户端无法向服务器发送完整的请求。(基础连接已经关闭:发送时发生错误。)) 问题

vCenter版本 5.5 vCenter 安装在server 2008 r2上面,今天补丁一打,重启后就无法连接vcenter了,起初以为是补丁的问题导致vcenter工作不正常,卸载了补丁依旧无法正常连接. 报未知连接错误,(客户端无法向服务器发送完整的请求.(基础连接已经关闭:发送时发生错误.)) 服务里面 vmware Virtualcenter server 服务启动不了. 倒腾了很久,, 很久   ,,    重装vcenter server 5.5的时候提示 vcenter 443

Windows Server 2003 使用vSphere5.5连接ESXI5.5 “客户端无法向服务器发送完整的请求” 的解决办法

今天在Windows Server 2003 上用vSphere5.5连接ESXI5.5出现了如下错误: vSphere CLient 无法连接"192.168.1.1". 出现未知连接错误.(客户端无法向服务器发送完整的请求.(The underlying connection was closed: An unexpected errror occurred on a send)) 经查询,出现此错误的原因是,某些SSL密码在Windows XP和Windows Server 20

SSE:服务器发送事件,使用长链接进行通讯

概述 传统的网页都是浏览器向服务器“查询”数据,但是很多场合,最有效的方式是服务器向浏览器“发送”数据.比如,每当收到新的电子邮件,服务器就向浏览器发送一个“通知”,这要比浏览器按时向服务器查询(polling)更有效率. 服务器发送事件(Server-Sent Events,简称SSE)就是为了解决这个问题,而提出的一种新API,部署在EventSource对象上.目前,除了IE,其他主流浏览器都支持. 简单说,所谓SSE,就是浏览器向服务器发送一个HTTP请求,然后服务器不断单向地向浏览器推

HTML5支持服务器发送事件(Server-Sent Events)-单向消息传递数据推送(C#示例)

传统的WEB应用程序通信时的简单时序图: 现在Web App中,大都有Ajax,是这样子: HTML5有一个Server-Sent Events(SSE)功能,允许服务端推送数据到客户端.(通常叫数据推送).基于数据推送是这样的,当数据源有新数据,它马上发送到客户端,不需要等待客户端请求.这些新数据可能是最新闻,最新股票行情,来自朋友的聊天信息,天气预报等. 数据拉与推的功能是一样的,用户拿到新数据.但数据推送有一些优势. 你可能听说过Comet, Ajax推送, 反向Ajax, HTTP流,W

nodejs向远程服务器发送post请求----融云Web SDK/客户端获取token

最近要用到一个叫融云的及时通讯的SDK,在获取token这个步骤的时候有点卡顿,以防以后碰到类似的问题,再此记录一下. 客户端通过融云 SDK 每次连接服务器时,都需要向服务器提供 Token,以便验证身份,流程如下: 流程如下: 1.客户端获取用户id,并向服务器请求token(注意这里的服务器不是融云的服务器,而是客户端的服务端) 2.客户端的服务端接收到token请求后,向融云的服务器请求token 3.融云服务器接受到token请求,返回token给客户端的服务端. 4.客户端的服务端接

JQuery ajax-向服务器发送请求的方法

如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法: xmlhttp.open("GET","ajax_info.txt",true);//打开文件 xmlhttp.send();// 发送数据 open(method,url,async): 规定请求的类型.URL 以及是否异步处理请求. method:请求的类型:GET 或 POST url:文件在服务器上的位置 async:true(异步)或 false

向服务器发送请求

向服务器发送请求 1.向服务器发送请求 如需要将请求发送到服务器,我们使用XMLHttpRequest对象的open()和send()方法: xmlhttp.open("GET","test1.txt",true); xmlhttp.send(); 方法解释: (1)open(method,url,async): 规定请求的类型.URL以及是否异步处理请求: method:请求的类型,可以是GET或者POST: url:文件在服务器上的位置: async:true(

echarts通过ajax向服务器发送post请求,servlet从数据库读取数据并返回前端

1.echarts的官网上的demo,都是直接写死的随机数据,没有和数据库的交互,所以就自己写了一下,ok,我们开始一步一步走一遍整个流程吧. 就以官网最简单的那个小demo来做修改吧.官网上的小demo的效果图如下:(很熟悉,有没有) 2.按照echarts的使用方法新建一个echarts.html文件.为ECharts准备一个具备大小(宽高)的Dom(讲的有点细,熟悉的朋友直接跳过) <!DOCTYPE html> <head> <meta charset="u

在向服务器发送请求时发生传输级错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。

作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/36425825 SQL Server 2008 + VS2010 用C#编写的代码,进行数据库还原的时候,出错: 错误内容: 在向服务器发送请求时发生传输级错误. (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程. 解决方法: 将SQL链接语句构造成如下: string strLink = @"server=.;database=Data