使用Ocaml Curl的post方法发送Http请求

时间:2015-03-17 10:30:54

标签: http post curl ocaml

我使用Ocaml CURL向服务器发出http请求。我尝试使用方法post发送它,我发现了这个函数(https://gist.github.com/zbroyar/1432555):

let post ?(content_type = "text/html") url data =
let r,c = init_conn url in
Curl.set_post c true;
Curl.set_httpheader c [ "Content-Type: " ^ content_type ];
Curl.set_postfields c data;
Curl.set_postfieldsize c (String.length data);
Curl.perform c;
let rc = Curl.get_responsecode c in
Curl.cleanup c;
rc, (Buffer.contents r) 

我理解值数据包含post值但是以哪种形式?它应该是" login = foo pass = bar"或者" login = foo,pass = bar" ?有人有想法吗?

1 个答案:

答案 0 :(得分:1)

这是一个POST请求,它可以使用任何形式发送任何类型的数据,这就是为什么有Content-Type标头告诉服务器如何解码数据的原因。 默认情况下,此功能会发送HTML,如果您要使用form encoding,请将"text/html"替换为"application/x-www-form-urlencoded"