新建一个worker,然后worker代码如下:
addEventListener('fetch', event => { event.respondWith(fetchAndApply(event.request)); }) async function fetchAndApply(request) { if (request.method === 'OPTIONS') { // 对于预检请求,设置允许的请求方法、请求头和响应头 return new Response(null, { headers: { 'Access-Control-Allow-Origin': '*', // 允许的域名,可以设置具体的域名 'Access-Control-Allow-Methods': '*', // 允许的请求方法 'Access-Control-Allow-Headers': '*' // 允许的请求头,例如 Content-Type 和 Authorization } }) } let response = null; let method = request.method; let request_headers = request.headers; let url = new URL(request.url); let url_hostname = url.hostname; url.protocol = 'https:'; url.host = 'generativelanguage.googleapis.com'; let new_request_headers = new Headers(request_headers); new_request_headers.set('Host', url.host); new_request_headers.set('Referer', url.protocol + '//' + url_hostname); let original_response = await fetch(url.href, { method: method, headers: new_request_headers, body: request.body }) let original_response_clone = original_response.clone(); let original_text = null; let response_headers = original_response.headers; let new_response_headers = new Headers(response_headers); let status = original_response.status; new_response_headers.set('Cache-Control', 'no-store'); new_response_headers.set('access-control-allow-origin', '*'); new_response_headers.set('access-control-allow-credentials', true); new_response_headers.delete('content-security-policy'); new_response_headers.delete('content-security-policy-report-only'); new_response_headers.delete('clear-site-data'); original_text = original_response_clone.body response = new Response(original_text, { status, headers: new_response_headers }) return response }
网友回复
DLNA与UPnP的区别和不同?
苏超自建抢票app,通过先预约再抽签化解高并发抢票?
python如何让给电脑在局域网中伪装成电视接收手机的投屏图片视频播放?
如何结合python+js如何自己的视频编码与加密播放直播?
python如何在电脑上通过局域网将本地视频或m3u8视频投屏电视播放?
腾讯视频爱奇艺优酷vip电影电视剧视频如何通过python绕过vip收费直接观看?
有没有可免费观看全球电视台直播m3u8地址url的合集?
有没有实现观影自由的免vip影视苹果 CMS V10 API的可用url?
python如何实时检测电脑usb插入检测报警?
如何判断真人操作的鼠标移动直线轨迹与机器操作的轨迹?