自動註冊appleid

weixin_33766168發表於2019-01-16

1. 通過猴油註冊指令碼,用js填寫表單

問題:由於apple官網採用了自己封裝的mvvm框架,如果只是賦值的話,還不能把檢視上的資料更新到model上,必須觸發一下表單元素的input事件或者change事件完成model的更新

CSP網站安全策略

 var _e = new Event('input')
 document.getElementsByTagName('input')[4].value = '張'
 document.getElementsByTagName('input')[4].dispatchEvent(_e)

2. 由於apple官網加了csp,導致不能連線不用域的http和ws,所以只能新開一個iframe,通過該iframe連線伺服器獲取資料,再傳送回apple官網

window.addEventListener('message', function(rs){
    console.log(rs);
    if (rs.origin === 'https://test.auto0917.com') {

    }
});
var iframe = document.createElement("iframe");
document.querySelector("body").appendChild(iframe);
iframe.setAttribute("src","https://test.auto0917.com/test.html");

注意子頁面傳送訊息時會有同源策略問題,所有必須用top.postMessage,不能用parant.pos

window.top.postMessage('hahah', 'https://appleid.apple.com/account#!&page=create')

問題1:該iframe必須是https的,找個https的伺服器就行了

問題2:該iframe連線的ws也必須是wss的才行,需要加證書

3. 最後還是用nightmare寫了一段自動註冊的指令碼

blesstosam 的 github

相關文章