输入/搜索内容
内置函数
Global
Version
Sleep
IsVirtual
Mail
Mail_Go
SetErrorFilter
GetPid
GetLastError
GetCommand
GetMeta
Dial
HttpQuery
HttpQuery_Go
Encode
UnixNano
Unix
GetOS
MD5
DBExec
UUID
EventLoop
_G
_D
_N
_C
_Cross
JSON.parse
JSON.stringify
SetChannelData
GetChannelData
Log
Market
Trade
Account
Futures
Threads
TA
Talib
OS
结构体
内置变量

发送Http请求。

HttpQuery(url)
HttpQuery(url, options)

示例

HttpQuery函数使用代理设置的示例。

javascript
function main() { // 本次设置代理并发送http请求,无用户名,无密码,此次http请求会通过代理发送 HttpQuery("socks5://127.0.0.1:8889/http://www.baidu.com/") // 本次设置代理并发送http请求,输入用户名和密码,仅HttpQuery当前调用生效,之后再次调用HttpQuery("http://www.baidu.com")这样不会使用代理 HttpQuery("socks5://username:password@127.0.0.1:8889/http://www.baidu.com/") }
python
def main(): # 本次设置代理并发送http请求,无用户名,无密码,此次http请求会通过代理发送 HttpQuery("socks5://127.0.0.1:8889/http://www.baidu.com/") # 本次设置代理并发送http请求,输入用户名和密码,仅HttpQuery当前调用生效 HttpQuery("socks5://username:password@127.0.0.1:8889/http://www.baidu.com/")
rust
fn main() { // 本次设置代理并发送http请求,无用户名,无密码,此次http请求会通过代理发送 let ret1: String = HttpQuery("socks5://127.0.0.1:8889/http://www.baidu.com/", None); // 本次设置代理并发送http请求,输入用户名和密码,仅HttpQuery当前调用生效,之后再次调用HttpQuery("http://www.baidu.com")这样不会使用代理 let ret2: String = HttpQuery("socks5://username:password@127.0.0.1:8889/http://www.baidu.com/", None); }

返回值

类型描述

string / object

返回请求的应答数据。如果返回值为JSON字符串,需要自行解析(JSON.parse()、json.loads()、JSONParse())。

在参数options结构中,如果debug设置为true,返回值为对象(JSON);如果debug设置为false,返回值为字符串。

参数

名称类型必填描述

url

string

是

Http请求的url。

options

object

否

请求设置,所有字段都可选:method、body、headers、cookie、timeout(毫秒,1000为1秒)、charset(对应答数据转码,例如GB18030)、debug(为true时返回完整应答报文,否则只返回应答Body),字段说明见HttpQuery-options,示例见备注。

参考

备注

HttpQuery()函数支持JavaScript、Python、Rust语言。

回测系统中可以使用HttpQuery()发送请求(仅支持GET请求)以获取数据。

回测时限制访问20个不同的URL,并且HttpQuery()访问会缓存数据,

相同的URL第二次访问时,HttpQuery()函数将返回缓存数据,不再发起实际的网络请求。

请求失败(没有收到应答,例如拒绝连接、DNS解析失败、超时、代理失败)时不返回空值,而是在日志中记录包含请求方法和URL的错误信息:debug为false时返回空字符串;debug为true时返回StatusCode为0、带Error字段(失败原因)的结构。HTTP状态码为4xx、5xx的应答不算请求失败。

options参数示例:

json
{ method: "POST", body: "a=10&b=20&c=30", charset: "UTF-8", cookie: "session_id=12345; lang=en", debug: false, headers: {"TEST-HTTP-QUERY": "123"}, timeout: 1000 }