https://jy.yongjinbao.com.cn/winner_gj/gjzq/exchange.action
account_content: 00000000 #你的账号
content_type: 0
cpuid: -00000-00000000 #CPU的ID
disk_serial_id: #硬盘序列号
function_id: 200 #调用的验证函数
identity_type:
input_content: 1
login_type: stock #登陆类型为股票
loginPasswordType: 000 #登陆的密码类型
mac_addr: 00-00-00-00-00-00 #MAC地址,即你的网卡ID
machinecode: -00000-00000000 #机器码,每台电脑唯一
password: ABCDE...EDCBA #加密的密码字符串
remember_me: #是否记住账号
validateCode: 0000 #验证码
version: 200
服务器保存的对应列表
'我是A粉' --> '用户A'
'我是B粉' --> '用户B'
客户端 -----> 服务器
发送:'买入分级A' 携带字符串:'我是A'
服务器执行:A用户 买入分级A
客户端 -----> 服务器
发送:'买入分级B' 携带字符串:'我是B'
服务器执行:B用户 买入分级B
客户端 -----> 服务器
发送:'买入分级C' 携带字符串:'我是韭菜'
服务器返回:查无此用户
https://jy.yongjinbao.com.cn/winner_gj/gjzq/stock/exchange.action?
CSRF_Token=undefined×tamp=0.1111111111111111&request_id=mystock_405
https://jy.yongjinbao.com.cn/winner_gj/gjzq/stock/exchange.action?
为固定的url前缀,后面传入的是我们的操作
传递的参数,以 & 分开:
CSRF_Token=undefined #未知,在后面的接口中也为undefined的固定值
timestamp=0.1111111111111111 #查看js代码发现['timestamp=' + Math.random(1)]为0,1之间的一个随机数,并没有什么意义
request_id=mystock_405 #调用的操作类型,可以理解为进行第405号操作,即返回资金情况
{"login_type":null,"returnJson":"{function_id: '405', msg_info: '', msg_no: '0', error_grids: '', grid_count: '1', Func405: [{money_type: '币种', current_balance: '当前余额', enable_balance: '可用金额', market_value: '证券市值', asset_balance: '资产总值', pre_interest: '预计利息'},{money_type:'人民币', current_balance:'300.000', enable_balance:'300.000', market_value:'0.000', asset_balance:'300.000', pre_interest:'0.180'}], end: '0' }"}
{
"login_type": null,
"returnJson":
"{
function_id: '405',
msg_info: '',
msg_no: '0',
error_grids: '',
grid_count: '1',
Func405: [
{
money_type: '币种',
current_balance: '当前余额',
enable_balance: '可用金额',
market_value: '证券市值',
asset_balance: '资产总值',
pre_interest: '预计利息'
},
{
money_type: '人民币',
current_balance: '300.000',
enable_balance: '300.000',
market_value: '0.000',
asset_balance: '300.000',
pre_interest: '0.180'
}
],
end: '0'
}"
}
import requests #使用web接口的类库
import json #解析返回的json格式
import re #格式化不正规的json字符串
#获取资金信息的接口地址
url = 'https://jy.yongjinbao.com.cn/winner_gj/gjzq/stock/exchange.action?CSRF_Token=undefined×tamp=0.1111111111111111&request_id=mystock_405'
cookie = dict(JSESSIONID='ABC..CBA') #填入你自己的JSESSIONID
rep = requests.get(url, cookies=cookie) #使用cookies调用接口获取回应
&service_type=stock&request_id=mystock_403&sort_direction=0
{
position_str: '定位串',
stock_code: '证券代码',
stock_name: '证券名称',
current_amount: '当前数量',
enable_amount: '可卖数量',
last_price: '最新价',
cost_price: '摊薄成本价',
keep_cost_price: '保本价',
income_balance: '摊薄浮动盈亏',
market_value: '证券市值'
}
&service_type=stock&function_id=Q0002&codeList=股票代码
{
code: '代码',
stockName: '名称',
newPrice: '现价',
zhangdiefu: '涨跌幅',
totalAmount: '成交金额',
maxPrice: '最高',
minPrice: '最低',
preClose: '昨收'
},
&request_id=buystock_302&stock_account=沪深账号&exchange_type=1&entrust_prop=0&entrust_bs=1&stock_code=股票ID&entrust_price=价格&entrust_amount=数量&elig_riskmatch_flag=1
&service_type=stock&request_id=sellstock_302&stock_account=沪深账号&exchange_type=1&entrust_prop=0&entrust_bs=2&stock_code=股票代码&entrust_price=价格&entrust_amount=数量
https://tradegw.htsc.com.cn/?MTExMTExMSZjc3N3ZWJfdHlwZT1HRVRfRlVORFMmdmVyc2lvbj0xJmN1c3RpZD0xMTExMTExMTExMTEmb3BfYnJhbmNoX25vPTAwJmJyYW5jaF9ubz0wMCZvcF9lbnRydXN0X3dheT0wJm9wX3N0YXRpb249SVAkMjU1LjI1NS4yNTUuMjU1O01BQyRGRi1GRi1GRi1GRi1GRi1GRjtIREQkMDAwMDAwMDAxMTExMTExMTExMSZmdW5jdGlvbl9pZD00MDUmZnVuZF9hY2NvdW50PTExMTExMTExMTExMSZwYXNzd29yZD0wMDAwMDAwMDAwJCQmaWRlbnRpdHlfdHlwZT0mbW9uZXlfdHlwZT0mcmFtPTAuMTExMTExMTExMTExMTEx
https://tradegw.htsc.com.cn/?MTExMTExMSZjc3N3ZWJfdHlwZT1HRVRfRlVORFMmdmVyc2lvbj0xJmN1c3RpZD0xMTExMTExMTExMTEmb3BfYnJhbmNoX25vPTAwJmJyYW5jaF9ubz0wMCZvcF9lbnRydXN0X3dheT0wJm9wX3N0YXRpb249SVAkMjU1LjI1NS4yNTUuMjU1O01BQyRGRi1GRi1GRi1GRi1GRi1GRjtIREQkMDAwMDAwMDAxMTExMTExMTExMSZmdW5jdGlvbl9pZD00MDUmZnVuZF9hY2NvdW50PTExMTExMTExMTExMSZwYXNzd29yZD0wMDAwMDAwMDAkJCZpZGVudGl0eV90eXBlPSZtb25leV90eXBlPSZyYW09MC4xMTExMTExMTExMTExMTE=
联系客服