i am looking for a way to get Cookies using UrlFetchApp. The code I'm using from someone on the forum:
function tele() {
var payload = { 'user_login': 'user_login', 'user_pass': 'user_pass' };
//replace with values on your login page "name=user_name" and "name=password"
//if your username contains @ send it directly or use %40 instead
var opt = {
'payload': payload,
'method': 'get',
'authority':'trader.myforexfunds.app',
"validateHttpsCertificates":true,
"followRedirects": true,
"testcookie": 1
};
var response = UrlFetchApp.fetch("https://trader.myforexfunds.app/?login=20091997&interval=h", opt);
//inspect the right link via Chrome inspect of your login page
console.log(response.getAllHeaders());
console.log(response.getResponseCode());
if (response.getResponseCode() == 302) {
// Incorrect user/pass combo
} else if (response.getResponseCode() == 200) {
// Logged-in
console.log("Đã đăng nhập");
var headers = response.getAllHeaders();
console.log(headers);
var cookies = headers['Set-Cookie'];
// Extract the cookies from the login response
var cookieParts = [];
for (var i = 0; i < cookies.length; i++) {
var arr = cookies[i].split('; ');
cookieParts.push(arr[0]);
}
// Create a new cookie to send with subsequent requests
var newCookie = cookieParts.join('; ');
console.log("Cookies mới là :"+newCookie);
};
opt2 = {
"method": "get",
"headers": {
"Cookie": newCookie
}
};
var url = "https://trader.myforexfunds.app/api/data/trade/20091997/71264346";
response2 = UrlFetchApp.fetch(url, opt2);
var resp1 = response2.getContentText();
//var csvContent = parseCsvResponse(response2.getContentText());
Logger.log(resp1);
//Logger.log(csvContent);
// clear everything in the sheet
//var sheet = SpreadsheetApp.getActiveSheet();
//sheet.clearContents().clearFormats();
// set the values in the sheet (as efficiently as we know how)
//sheet.getRange(1, 1, csvContent.length /* rows */, csvContent[0].length /* columns */).setValues(csvContent);
}
+ I'm having a problem : Cookies cannot be obtained
Console Return :
{ 'Content-Type': 'text/html; charset=utf-8',
'Cache-Control': 'no-cache,no-store',
Expires: 'Thu, 01 Jan 1970 00:00:00 GMT',
'Set-Cookie':
[ '.AspNetCore.Cookies=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; samesite=lax; httponly',
'.AspNetCore.Antiforgery.DvnwCO4RNgs=CfDJ8IT31SjLt0NIjQqQscrPrXVqUn_4QOPIbvLFyNztSQBxfrkhs4wQjPbnpSybF11CUCgRzQEGDAJk3BUr7GLSVpN_CPDxcOH3-uemnwJTUEO8rQlkVbYMFKeARM8Jtf4382MpQuZb9ZJtBlo6KR_JUyU; path=/; samesite=strict; httponly' ],
Connection: 'keep-alive',
'Transfer-Encoding': 'chunked',
nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}',
'cf-cache-status': 'DYNAMIC',
Date: 'Wed, 10 Aug 2022 09:01:28 GMT',
'X-Frame-Options': 'SAMEORIGIN',
Vary: 'Accept-Encoding',
'cf-ray': '73878c0eac549c22-IAD',
Server: 'cloudflare',
'Content-Encoding': 'br',
'Report-To': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=g%2BlJNlosGcLvwGADcq7dhPUji5jREUZTV%2BQfPq8OyD0M%2F%2BLnJ7YwrUiVfj4r3F74PrLk3Axhj0YXjTUc7goXJ1R4ndHZNEMwkEusyD12By8%2Bdg2F8hxokIMZtJw7KGoFDVSr9rQLdd27"}],"group":"cf-nel","max_age":604800}',
'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
Pragma: 'no-cache' }
But the value of the entry .AspNetCore.Cookies= "Empty" so it is not possible to get the complete Cookies,Hope you guys can help me adjust so I can Fix it. Thanks You.
