cloudflare的worker反向代理及cookie请求操作笔记
涉及get、post请求传值、代理、地域限制、cookie操作示例代码:

1、反向代理
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const url = new URL(request.url);
url.hostname = 'example.com';
const data = await fetch(url.toString(),request);
return data;
}
将example.com换成你要代理访问的域名网站
2、设置cookie
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const url = new URL(request.url);
url.hostname = 'example.com';
const data = await fetch(url.toString(), request);
let setCookie = ` path=/; domain=[DOMAIN]; secure; HttpOnly; SameSite=None`;
data.headers.set('Set-Cookie', setCookie);
return data;
}
3、国家地区访问限制
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const country = request.cf.country;
const cussFreeCountries = ['IN','CN',
'KP'];
if (cussFreeCountries.includes(country)) {
return new Response("forbiden", {
status: 500
})
}
new Response("hello");
}
4、获取url地址的query参数值
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handle...点击查看剩余70%
网友评论