ReqUserLogin

CTP-API

ReqUserLogin

ReqUserLogin


用户登录请求,对应响应OnRspUserLogin。

1.函数原型

virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0;

2.参数

pReqUserLoginField:用户登录请求

struct CThostFtdcReqUserLoginField
{
    ///交易日
    TThostFtdcDateType TradingDay;
    ///经纪公司代码
    TThostFtdcBrokerIDType BrokerID;
    ///用户代码
    TThostFtdcUserIDType UserID;
    ///密码
    TThostFtdcPasswordType Password;
    ///用户端产品信息
    TThostFtdcProductInfoType UserProductInfo;
    ///接口端产品信息
    TThostFtdcProductInfoType InterfaceProductInfo;
    ///协议信息
    TThostFtdcProtocolInfoType ProtocolInfo;
    ///Mac地址
    TThostFtdcMacAddressType MacAddress;
    ///动态密码
    TThostFtdcPasswordType OneTimePassword;
    ///终端IP地址
    TThostFtdcIPAddressType ClientIPAddress;
    ///登录备注
    TThostFtdcLoginRemarkType LoginRemark;
    ///终端IP端口
    TThostFtdcIPPortType ClientIPPort;
};

UserID:操作员代码,之后的investorid需要属于该操作员管理下。

UserProductInfo:客户端的产品信息,如软件开发商、版本号等。

例如:SFITTraderV100。

LoginRemark:可以写登录备注,能够被交易系统的日志查询到。

OneTimePassword:如果期货公司启用了动态口令,客户会有一个电子口令牌,把生成的值,输入到登录报文里的OneTimePassword(动态密码)这个字段中去即可

ClientIPAddress:CTP前置主动获取,填写无效。

MacAddress:CTP前置主动获取,填写无效。

nRequestID:请求ID,对应响应里的nRequestID,无递增规则,由用户自行维护。

3.返回

0,代表成功。

-1,表示网络连接失败;

-2,表示未处理请求超过许可数;

-3,表示每秒发送请求数超过许可数。

4.调用示例

CThostFtdcReqUserLoginField reqUserLogin = { 0 };
strcpy_s(reqUserLogin.BrokerID, “0000”);
strcpy_s(reqUserLogin.UserID, “00001”);
strcpy_s(reqUserLogin.Password, “123456”); 
m_pUserApi->ReqUserLogin(&reqUserLogin, nRequestID++);

5.FAQ

现在投资者登录的时候,有时候会被锁定,请问会有什么原因?

CTP有单独锁IP的功能。被锁定的情况下继续登录会报“CTP:登录失败次数超限,IP被禁止”。目前这个阈值一般设置为5000,单个交易日内累积计算。

CTP有锁IP+账号的功能。被锁定的情况下继续登录会报“CTP:连续登录失败次数超限,登录被禁止”。目前这个阈值一般设置为6-10,注意这里的登录错误次数CTP是连续计算的。

具体的阈值以期货公司设置的为准。

首次登陆如果提示修改密码,如何修改?

首次登陆如果提示修改密码,则必须在当前会话调用ReqUserPasswordUpdate来修改密码。

“CTP:用户在线会话超出上限”是什么意思?

表示该UserID的同时在线会话数超出了期货公司设置的阈值,具体阈值咨询期货公司柜台设置。

登录报“CTP:重复的登录”,是什么原因?

正常情况下,收到登录成功的响应后再发起登录,是没有响应的,这是因为如果前置收到登陆成功的响应,则会过滤后续的相同Session的登陆请求。

极端情况下,当前置还没收到核心返回的登录成功响应,而此时又再次收到来自客户端的登录请求,就不会过滤,核心收到重复的登录请求后就会返回“CTP:重复的登录”的错误响应。

登录时候报错:“CTP:连续登录失败数超限,登录被禁止”,为什么?

此报错说明用户连续输错密码被禁止登录了,ip被锁定。此时用户换ip或者联系期货公司解锁即可。


< 前页 回目录 后页 >