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%
网友评论