This commit is contained in:
BlueSkyXN 2024-04-26 12:31:29 +08:00
parent de475c2f22
commit 207db6f1c4
2 changed files with 94 additions and 62 deletions

View File

@ -3,40 +3,56 @@ addEventListener('fetch', event => {
}) })
async function handleaagtoolRequest(request) { async function handleaagtoolRequest(request) {
// 确认请求方法为 POST 并且内容类型正确 try {
if (request.method !== 'POST' || !request.headers.get('Content-Type').includes('multipart/form-data')) { // 确认请求方法为 POST 并且内容类型正确
return new Response('Invalid request', { status: 400 }); if (request.method !== 'POST' || !request.headers.get('Content-Type').includes('multipart/form-data')) {
} return new Response('Invalid request', { status: 400 });
// 解析表单数据
const formData = await request.formData();
const imageFile = formData.get('file'); // 假设字段名为 'file'
if (!imageFile) return new Response('Image file not found', { status: 400 });
// www.aagtool.top 的上传接口
const targetUrl = 'https://www.aagtool.top/upload.php';
// 为了与 www.aagtool.top 接口兼容,我们保留表单数据的格式并直接转发
const response = await fetch(targetUrl, {
method: 'POST',
body: formData,
headers: {
// 可以添加必要的自定义头部如果www.aagtool.top需要特定的头部信息
'Accept': 'application/json',
'Origin': 'https://www.aagtool.top'
} }
});
// 处理响应 // 解析表单数据
if (response.ok) { const formData = await request.formData();
const result = await response.json(); const imageFile = formData.get('image'); // 假设字段名为 'image'
if (result && result.success && result.file_url) { if (!imageFile) return new Response('Image file not found', { status: 400 });
// 直接返回图片 URL 而不是 JSON 对象
return new Response(result.file_url, { status: 200 }); // www.aagtool.top 的上传接口
const targetUrl = 'https://www.aagtool.top/upload.php';
// 为了与 www.aagtool.top 接口兼容,我们保留表单数据的格式并直接转发
const response = await fetch(targetUrl, {
method: 'POST',
body: formData,
headers: {
'Accept': '*/*',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7',
'Cache-Control': 'no-cache',
'Content-Type': request.headers.get('Content-Type'),
'Origin': 'https://www.aagtool.top',
'Pragma': 'no-cache',
'Referer': 'https://www.aagtool.top/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',
'Sec-CH-UA': '"Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"',
'Sec-CH-UA-Mobile': '?0',
'Sec-CH-UA-Platform': '"Windows"',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
'DNT': '1'
}
});
// 处理响应
if (response.ok) {
const result = await response.json();
if (result && result.success && result.file_url) {
return new Response(result.file_url, { status: 200 });
} else {
return new Response('Error: Unexpected response format or upload failed', { status: 500 });
}
} else { } else {
return new Response('Error: Unexpected response format or upload failed', { status: 500 }); return new Response('Error: ' + await response.text(), { status: response.status });
} }
} else { } catch (error) {
return new Response('Error: ' + await response.text(), { status: response.status }); console.error('Caught an error:', error);
return new Response('Server Error', { status: 500 });
} }
} }

View File

@ -216,41 +216,57 @@ async function handleRequest(request) {
} }
async function handleaagtoolRequest(request) { async function handleaagtoolRequest(request) {
// 确认请求方法为 POST 并且内容类型正确 try {
if (request.method !== 'POST' || !request.headers.get('Content-Type').includes('multipart/form-data')) { // 确认请求方法为 POST 并且内容类型正确
return new Response('Invalid request', { status: 400 }); if (request.method !== 'POST' || !request.headers.get('Content-Type').includes('multipart/form-data')) {
} return new Response('Invalid request', { status: 400 });
// 解析表单数据
const formData = await request.formData();
const imageFile = formData.get('file'); // 假设字段名为 'file'
if (!imageFile) return new Response('Image file not found', { status: 400 });
// www.aagtool.top 的上传接口
const targetUrl = 'https://www.aagtool.top/upload.php';
// 为了与 www.aagtool.top 接口兼容,我们保留表单数据的格式并直接转发
const response = await fetch(targetUrl, {
method: 'POST',
body: formData,
headers: {
// 可以添加必要的自定义头部如果www.aagtool.top需要特定的头部信息
'Accept': 'application/json',
'Origin': 'https://www.aagtool.top'
} }
});
// 处理响应 // 解析表单数据
if (response.ok) { const formData = await request.formData();
const result = await response.json(); const imageFile = formData.get('image'); // 假设字段名为 'image'
if (result && result.success && result.file_url) { if (!imageFile) return new Response('Image file not found', { status: 400 });
// 直接返回图片 URL 而不是 JSON 对象
return new Response(result.file_url, { status: 200 }); // www.aagtool.top 的上传接口
const targetUrl = 'https://www.aagtool.top/upload.php';
// 为了与 www.aagtool.top 接口兼容,我们保留表单数据的格式并直接转发
const response = await fetch(targetUrl, {
method: 'POST',
body: formData,
headers: {
'Accept': '*/*',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7',
'Cache-Control': 'no-cache',
'Content-Type': request.headers.get('Content-Type'),
'Origin': 'https://www.aagtool.top',
'Pragma': 'no-cache',
'Referer': 'https://www.aagtool.top/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',
'Sec-CH-UA': '"Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"',
'Sec-CH-UA-Mobile': '?0',
'Sec-CH-UA-Platform': '"Windows"',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
'DNT': '1'
}
});
// 处理响应
if (response.ok) {
const result = await response.json();
if (result && result.success && result.file_url) {
return new Response(result.file_url, { status: 200 });
} else {
return new Response('Error: Unexpected response format or upload failed', { status: 500 });
}
} else { } else {
return new Response('Error: Unexpected response format or upload failed', { status: 500 }); return new Response('Error: ' + await response.text(), { status: response.status });
} }
} else { } catch (error) {
return new Response('Error: ' + await response.text(), { status: response.status }); console.error('Caught an error:', error);
return new Response('Server Error', { status: 500 });
} }
} }