49 lines
1.8 KiB
JavaScript
49 lines
1.8 KiB
JavaScript
const axios = require('axios');
|
|
const fs = require('fs');
|
|
|
|
async function test() {
|
|
console.log('Testing two-step download...');
|
|
const url = 'https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.40-winx64.zip';
|
|
const landing = 'https://dev.mysql.com/downloads/mysql/';
|
|
|
|
try {
|
|
console.log('1. Fetching landing page for cookies...');
|
|
const landingRes = await axios.get(landing, {
|
|
headers: {
|
|
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
|
|
}
|
|
});
|
|
|
|
const cookies = landingRes.headers['set-cookie'];
|
|
console.log('Cookies received:', cookies ? cookies.length : 0);
|
|
|
|
console.log('2. Downloading ZIP with cookies...');
|
|
const downloadRes = await axios({
|
|
url,
|
|
method: 'GET',
|
|
headers: {
|
|
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
|
|
'Referer': landing,
|
|
'Cookie': cookies ? cookies.join('; ') : ''
|
|
},
|
|
responseType: 'arraybuffer',
|
|
timeout: 10000
|
|
});
|
|
|
|
console.log('Download Status:', downloadRes.status);
|
|
console.log('Content Length:', downloadRes.data.length);
|
|
if (downloadRes.data.length < 5000) {
|
|
console.log('Content Preview:', downloadRes.data.toString().substring(0, 500));
|
|
} else {
|
|
console.log('Download SUCCESS (likely binary)');
|
|
}
|
|
} catch (e) {
|
|
console.error('ERROR:', e.response ? e.response.status : e.message);
|
|
if (e.response && e.response.data) {
|
|
console.log('Error Data:', e.response.data.toString().substring(0, 200));
|
|
}
|
|
}
|
|
}
|
|
|
|
test();
|