FAQ > 金融建模 > 建模问题 > 平台使用

Q:如何通过代理服务器登陆天软服务器    

  • A:用户可通过代理服务器连接天软服务器。
    目前天软已支持http代理(默认方式)以及SOCKS5代理。

    这里对于常见的几种登陆方式进行具体的代理服务器登陆的实现介绍:
    假如已知代理服务器为(实际代理服务器信息以用户公司具体配置为准):
    代理IP:192.168.0.250 http端口: 808   socks5: 端口 1080 不需要身份验证

    1、天软客户端通过代理服务器登陆
     第一步:在天软登陆界面勾选“通过代理服务器连接”。
     第二步:选择“手动设置”,并输入相应的代理地址,端口等(若需要身份验证时,还需要勾选并输入身份验证用户名及密码),如下:

     第三步:点击“登陆”。

    2、tsl脚本中ConnectServer函数通过代理服务器登陆天软服务器
      ConnectServer函数详细说明请参考:FAQ:ConnectServer
    登陆代码如下:http模式代理登陆
    //在ConnectServer的第三个参数中输入对应下标的代理服务器地址,端口,代理模式等信息,同样,若存在用户信息验证,则还需要添加用户与密码信息。
    cTS:=ConnectServer("tsl.tinysoft.com.cn",443,array("Address":"192.168.0.250","Port":808,"AuthMode":0));
    lg:=LoginServer("TSUser","UserPass",msg);//天软账号与密码
    if lg=0 then
    begin
     echo "登陆成功!"; 
     Script:='program TS_testFunc;
       Begin
         r:=1->5;
         Return r;
       End.';
    if SendExecuteAndWait(Script,getSysParams(),Result,ErrMsg)=0 then  //Execute Success
    echo tostn(Result),'\r\n';
    else 
    echo '远端执行失败!\r\n';
    DisconnectServer();
    end
    else
    echo "登陆失败,报错:(",cTS,",",msg,")\r\n";

    若打印"登陆成功!",则表明代理登陆成功。

    3、INI文件中配置登陆信息的方式登陆-该种方式支持多方使用(如python)
    将登陆信息配置在INI文件中,INI文件配置的步骤请参考:FAQ:Q:天软服务器远端连接信息的INI文件配置方法
    这里比如在tslclient.ini文件中配置如下:(举例为SOCKS5模式)
    [proxy5]
    Permit=local
    LoginName=TSUser
    LoginPass=UserPass
    Address=tsl.tinysoft.com.cn
    Port=443
    ProxyPort=1080
    ProxyAddress=192.168.0.250
    ProxyUser=
    ProxyPass=
    ProxyAuthMode=5

    说明:
    ProxyAddress代理服务器地址;ProxyPort代理服务器指定代理模式下的端口
    ProxyUser代理登陆身份验证用户名;ProxyPass代理登陆身份验证密码;
    ProxyAuthMode代理模式,0为http模式,5为SOCKS5模式,默认为0。

    1)tsl脚本中登陆
    cTS:=DefaultConnectAndLogin('proxy5',msg);
    cTS返回为0,则说明连接成功,若返回其它,则失败,错误信息存放在msg中。

    2)Python中通过INI方式登陆天软服务器
    测试代码如下:
    import sys
    sys.path.append('C:\Program Files\Tinysoft\Analyse.NET')
    import TSLPy3 as ts

    d2 = ts.DefaultConnectAndLogin("proxy5") #调用INI文件信息数据进行登陆
    print('-->ini方式+Socks5代理:',d2)
    if d2[0]==0 :
    print("登陆成功")
    data = ts.RemoteExecute("return 1->5;",{}) #执行一条语句
    print('交互完成')
    print("数据:",data)
    ts.Disconnect()

    执行结果:
    -->ini方式+Socks5代理: (0, b'')
    登陆成功
    交互完成
    数据: (0, [1, 2, 3, 4, 5], None)
     
    4、TinyODBC中设置代理服务器-仅支持http代理模式
    在设置DSN时,配置完连接设置后,选择代理服务器,勾选使用代理服务器,并输入http代理服务器信息,例如:

    其它使用不变,这里就不做具体介绍,详情请参考:FAQ:2016-07-28-应用专题-第三方交互:对ODBC接口的使用方法和范例