http_request

该函数创建一个 HTTP 请求并发送它。

HTTP 请求可用于许多事情,例如,如果您使用 RESTful API,则可以通过 HTTP 标头进行身份验证。该函数需要发出请求的服务器的完整 IP 地址以及发出请求的类型 (作为字符串,请参阅下面的注释):"GET","HEAD","POST""PUT""DELETE""TRACE""OPTIONS""CONNECT"。您还需要提供键 / 值对的 DS 映射 ( 作为字符串,其中键是标头字段,值是标头所需的数据),最后一个参数是您可以添加到请求中的可选数据字符串,如果不需要,则可以是 0 或空字符串 ""。请注意,您还可以发送缓冲区 (有关更多详细信息,请参阅有关 缓冲区 的部分),在这种情况下,最后一个参数将是要发送的缓冲区的索引。

使用说明

这个函数返回一个 异步请求ID,可以用来标识它的回调,如下所述。

异步回调

此事件将生成由任何异步HTTP事件拾取的"回调",在这种情况下,它将生成此事件独有的、存储在特殊变量 async_load 中的 DS 映射。此DS映射具有与请求函数相关的以下两个键:

 

语法:

http_request(url, method, header_map, body);

参数类型描述
urlString您希望从中获取信息的服务器的 Web 地址
methodString请求方法(通常是 "POST""GET" ,但是支持所有方法)
header_mapDS Map具有所需标头字段的 DS 映射
bodyRealString, or Buffer在头文件后面传输的数据(可以是二进制缓冲区句柄)

 

返回:

Async Request ID

 

例子:

var _headers = ds_map_create();
ds_map_add(_headers, "Authorization", "Basic eW95b19hZG1pbjpjNG5lZmllbGQ=");
ds_map_add(_headers, "Content-Type", "application/x-www-form-urlencoded");
ds_map_add(_headers, "Cookie", "request_method=GET; _InAppPurchases_session=69bb6ef6eec2b");
var _data="utf8=%E2%9C%93&authenticity_token=kPmS14DcYcuKgMFZUsN3XFfj3mhs%3D&product%5Bname%5D=CatchTheHaggis&product%5Bproduct_id%5D=http_test&commit=Create+Product";
request = http_request("http://225.0.0.97:3000/products", "POST", _headers, _data);
ds_map_destroy(_headers);

上面的代码创建一个 DS 映射,其中包含该函数的相关 HTTP 标头,然后创建一个数据字符串以供使用,因为这是一个 POST 请求。最后调用该函数,其 ID 值存储在实例变量 request 中,用于检查 HTTP 异步事件。