我有一堆JSON格式的cookie。它們是從名爲EditThisCookie的插件中導出cookie的結果。請求在cookieJar中設置cookie,包括子域名
我試圖解析JSON cookie數組並將它們添加到cookiejar。我這樣做,像這樣:
JSONCookies.forEach(cookie => {
let extensions = [
'session=true',
'sameSite=no_restriction'
];
cookies.push(new ToughCookie.Cookie({
key: cookie.name,
value: cookie.value,
secure: cookie.secure || false,
path: cookie.path,
httpOnly: cookie.httpOnly || false,
extensions: extensions
}));
// Set the uid property of object with users ID
if(cookie.name === 'c_user') {
this.uid = cookie.value;
}
})
我將它們添加到請求的cookiejar:
cookies.forEach(function(cookie) {
cookieJar.setCookie(cookie, 'https://facebook.com', (err, cookie) => {
if(err) {
reject(new Error(err));
return;
}
})
})
...這工作正常。我可以向Facebook發出請求並從我們的業務組中提取數據。
但是,Facebook上的許多請求都使用子域名。如upload.facebook.com
。這不起作用。很明顯,因爲我錯過了cookie中的domain
。
所以,我創建了韌體餅乾並添加了domain: '.facebook.com'
。除了現在當我做出一個錯誤失敗的請求:
Error: Cookie not in this host's domain. Cookie:facebook.com Request:null
我怎麼能設置的Cookie在cookiejar跨子域工作?可能嗎?
該文檔不是很好,我一直無法找到如何做到這一點。我認爲這與傳入setCookie
的網址有關。我試圖改變這種不同的變化無濟於事。
@CBroe錯了。過去一年,我一直在銷售軟件,幫助羣組管理員管理羣組中的垃圾郵件。由於組端點有限,因此無法使用API執行此類操作。由於我與Facebook的安全團隊密切合作報告錯誤,Facebook已經意識到我的軟件已經8個月了。他們沒有問題,因爲它有利於組織的所有者,並且做了API不支持的事情。 – BugHunterUK
@CBroe https://www.facebook.com/apps/site_scraping_tos_terms.php?hc_location=ufi ...查看第2條。我們公司獲得Facebook的許可。任何人都可以通過填寫以下表格申請許可:https://www.facebook.com/apps/site_scraping_tos.php – JamesTheHacker