HttpQuery

发送HTTP请求。

返回请求的响应数据。如果返回值为JSON字符串,JavaScript语言的策略中可以使用JSON.parse()函数解析,C++语言的策略中可以使用json::parse()函数解析。

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

HttpQuery(url) HttpQuery(url, options)

HTTP请求的URL地址。 url true string HTTP请求相关配置参数,可以使用以下结构:

{
    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
}
  • method: 设置请求方法(GET、POST、PUT等)。
  • body: 设置请求体内容,通常用于POST、PUT等请求。
  • cookie: 设置请求中的Cookie,用于携带身份验证信息或会话标识。
  • headers: 设置请求头信息,可指定内容类型、身份验证信息等。
  • debug: 设置为true时,此次HttpQuery函数调用返回完整的响应报文。设置为false时仅返回响应报文Body中的数据。
  • timeout: 超时设置,单位为毫秒。例如设置1000表示1秒超时。
  • charset: 支持对响应数据进行字符编码转换,例如:GB18030。支持常用编码格式。

此结构中的所有字段均为可选参数,例如可以不设置headers字段。 options false object

”`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

HttpQuery不支持Python,可以使用Python的urllib2库”`


void main() {
    HttpQuery("socks5://127.0.0.1:8889/http://www.baidu.com/");
    HttpQuery("socks5://username:password@127.0.0.1:8889/http://www.baidu.com/");
}
HttpQuery函数使用代理设置。

HttpQuery()函数仅支持JavaScriptC++语言,Python语言可以使用urllib库直接发送HTTP请求。 回测系统中可以使用HttpQuery()发送请求(仅支持GET请求)获取数据。 回测时限制访问不同URL的次数为20次,并且HttpQuery()访问会缓存数据, 相同的URL第二次访问时HttpQuery()函数将返回缓存数据,不再发起实际的网络请求。

{@fun/Global/HttpQuery_Go HttpQuery_Go}