我正在尝试编写一个程序,每 15 分钟检查一次 the ea website 的用户名可用性。如果用户名可用,我希望它使用该用户名创建一个帐户。当前代码只打印网站的整个 HTML,很可能是因为发布请求不起作用。我也没有收到任何表示登录成功的确认电子邮件。
预期的输出将是页面的 HTML 显示“成功”或类似内容,以了解发布请求已完成且帐户已创建。
我当前的代码:
name = input('[$] Enter a name to check > ')
r = requests.get("https://signin.ea.com/p/ajax/user/checkOriginId?requestorId=portal&originId=" + name)
if r.json()['message'] == 'origin_id_duplicated':
print(f"[$] {name} is taken")
else:
print(f"[$] {name} is available")
print(f"[$] Attempting to claim {name}")
start = time.time()
url = 'https://accounts.ea.com/connect/auth?response_type=code&client_id=ORIGIN_SPA_ID&display=originXWeb/create&locale=en_US&release_type=prod&redirect_uri=https://www.origin.com/views/login.html'
data = {
'country': 'NL',
'dobDay': '15',
'dobMonth': '5',
'dobYear': '2003',
'selectSouthKoreaIdentity': 'on',
'_readAccept': 'on',
'readAccept': 'on',
'email': 'gxzsontop^%^40gmail.com',
'parentEmail': '',
'password': 'Password1',
'originId': 'GxzsOnTop',
'firstName': '',
'lastName': '',
'thirdPartyCaptchaResponse': '2186106da168de865.9672411905^%^7Cr^%^3Deu-west-1^%^7Cmetabgclr^%^3Dtransparent^%^7Cguitextcolor^%^3D^%^2523606060^%^7Cmetaiconclr^%^3D^%^2523606060^%^7Cmeta^%^3D3^%^7Clang^%^3Dnl^%^7Cpk^%^3D73BEC076-3E53-30F5-B1EB-84F494D43DBA^%^7Cat^%^3D40^%^7Csup^%^3D1^%^7Crid^%^3D81^%^7Cht^%^3D1^%^7Cag^%^3D101^%^7Ccdn_url^%^3Dhttps^%^253A^%^252F^%^252Fclient-api.arkoselabs.com^%^252Fcdn^%^252Ffc^%^7Clurl^%^3Dhttps^%^253A^%^252F^%^252Faudio-eu-west-1.arkoselabs.com^%^7Csurl^%^3Dhttps^%^253A^%^252F^%^252Fclient-api.arkoselabs.com',
'securityQuestion': 'Op welke basisschool heb je gezeten^%^3F',
'securityAnswer': 'gxzs',
'friendVisibility': 'FRIENDS',
'_emailVisibility': 'on',
'_contactMe': 'on',
'cid': '5RpmNWV7ObvGP8gO6M7xqOEWDXGAEF1f',
'_eventId': 'submit',
'pinEventMessage.step': '3',
'pinEventMessage.prevStep': 'originX^%^2Freg-basic-info-panel',
'pinEventMessage.curStep': 'originX^%^2Freg-sqa-privacy-panel',
'pinEventMessage.pageViewEventMessage.prevPageTimeStamp': '1627838999908',
'pinEventMessage.pageViewEventMessage.prevPageDuration': '38'
}
ses = requests.Session()
response = ses.post(url, data=data, headers=headers, params=params, cookies=cookies)
req = ses.get(url)
输出:
C:\Users\Gibbo\OneDrive\Bureaublad\Velox x01>python veloxclaim2.py
[$] Enter a name to check > ktgjqwm
[$] ktgjqwm is available
[$] Attempting to claim ktgjqwm
Resp. Status 200
Tokenized url > https://signin.ea.com/p/originX/create?execution=e1175372685s1&initref=https%3A%2F%2Faccounts.ea.com%3A443%2Fconnect%2Fauth%3Fdisplay%3DoriginXWeb%252Fcreate%26response_type%3Dcode%26release_type%3Dprod%26redirect_uri%3Dhttps%253A%252F%252Fwww.origin.com%252Fviews%252Flogin.html%26locale%3Den_US%26client_id%3DORIGIN_SPA_ID
Response text > The whole HTML of the website
[$] Time passed > 1.294675588607788