import requests
import xml.etree.ElementTree as ET
UserName = "FAPPS45" #老師在用的測試帳號,同學麻煩請用別組帳號
Password = "xxxxxxx"
url = "http://61.220.30.176/weborder/autotrade.asmx/LoginIP?UserName="+ UserName +"&Password="+ Password +"&IPAddr=127.0.0.1"
response = requests.get(url)
TokenString = ET.fromstring(response.text)
print(TokenString.text)
輸出結果
143986D99078C7FAC1BA1E990DCF3701E2F30D7FDB1D91A848A10B6CE4F680E904C686E5DBE29E6CAC6E51D01CEA05B321422D69865933EC3F72592F6C7CE25A3CD4D6C3076AEFC8434208FB0D718CECEF2F75025BAFEBEAD58BA837B097E3C632952534AF56572156D4B35CBD96956DD3DE6E29D838B08F6094411362F210503B4883957413A588
TokenString = "143986D99078C7FAC1BA1E990DCF3701E2F30D7FDB1D91A848A10B6CE4F680E904C686E5DBE29E6CAC6E51D01CEA05B321422D69865933EC3F72592F6C7CE25A3CD4D6C3076AEFC8434208FB0D718CECEF2F75025BAFEBEAD58BA837B097E3C632952534AF56572156D4B35CBD96956DD3DE6E29D838B08F6094411362F210503B4883957413A588"
url = "http://61.220.30.176/weborder/autotrade.asmx/TokenFactory?TokenString="+ TokenString
response = requests.get(url)
root = ET.fromstring(response.text)
GMRID=root[0].text
GMRIDStr=root[1].text
UserName=root[2].text
NickName=root[3].text
FirstName=root[4].text
LastName=root[5].text
GameCode=root[6].text
LoginTime=root[7].text
FromIP=root[8].text
print(GMRID,GMRIDStr,UserName,NickName,FirstName,LastName,GameCode,LoginTime,FromIP)
輸出結果
1111837257 BEJI FAPPS45 None None None APPSGame 2020-04-13T19:56:30 127.0.0.1
GMRIDStr = GMRIDStr
CompCode = "2330.tw" # 股代.tw ex.2330.tw
Price = "278" #價格;期權市價單給0
Volume = "1000" #數量 1000
BSAction = "B" #使用代碼 普通買進(B),普通賣出(S),融資買入(MB),融資賣出(RB),融券買入(RS),融券賣出(MS)
OrderType = "LMTD" #使用代碼 漲停價(LMTU),跌停價(LMTD),限價單(LMT),期權市價單:MKT
IsOddLot = "0" #預設給零 0: normal (照ASSET CATALOG中的交易時間), 1:for TW 零股交易
Currency = "TWD" #預設TWD
OrderNote = "ROD" #預設給ROD FOK.IOC.ROD
OCType = "0" #現貨固定給零;期貨作多:buy,作空:sell;選擇權新倉:O,平倉:C
CombineNo = "" #固定給空白
OrderParameter = "0" #預設給零 0:普通, 50:當沖單, 60:組合單
Lang = "TC" #固定給TC
str_ip = "127.0.0.1" #IP位置
url = "http://61.220.30.176/weborder/autotrade.asmx/PutOrderXML3?GMRIDStr="+ GMRIDStr +"&CompCode="+ CompCode +"&Price="+ Price +"&Volume="+ Volume +"&BSAction="+ BSAction +"&OrderType="+ OrderType +"&IsOddLot="+ IsOddLot +"&Currency="+ Currency +"&OrderNote="+ OrderNote +"&OCType="+ OCType +"&CombineNo="+ CombineNo +"&OrderParameter="+ OrderParameter +"&Lang="+ Lang +"&str_ip="+ str_ip
response = requests.get(url)
root = ET.fromstring(response.text)
if 'Success' in root.text: # 使用in運算子檢查
print('Success')
elif 'Failure' in root.text:
print(root.text)
輸出結果
Success
Volume = "600000 "
輸出結果
<GVEResult MsgCode="Failure" Description="1007" Error="超過最大掛單量" />
TokenString = "143986D99078C7FAC1BA1E990DCF3701E2F30D7FDB1D91A848A10B6CE4F680E904C686E5DBE29E6CAC6E51D01CEA05B321422D69865933EC3F72592F6C7CE25A3CD4D6C3076AEFC8434208FB0D718CECEF2F75025BAFEBEAD58BA837B097E3C632952534AF56572156D4B35CBD96956DD3DE6E29D838B08F6094411362F210503B4883957413A588"
Language = "TC"
url = "http://61.220.30.176/weborder/autotrade.asmx/QueryWaitingOrderListGVE3XML_NS?TokenString="+ TokenString + "&Language=" + Language
response = requests.get(url)
print(response.text)
import requests
import xml.etree.ElementTree as ET
IP = "61.220.30.176"
def LoginIP(UserName, Password):
url = "http://"+ IP +"/weborder/autotrade.asmx/LoginIP?UserName="+ UserName +"&Password="+ Password +"&IPAddr=127.0.0.1"
response = requests.get(url)
return ET.fromstring(response.text)
def TokenFactory(TokenString):
url="http://"+ IP +"/weborder/autotrade.asmx/TokenFactory?TokenString="+ TokenString
response = requests.get(url)
return ET.fromstring(response.text)