feat: implement PHP and MySQL version management services with automated download and cataloging capabilities
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
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();
|
||||
Reference in New Issue
Block a user