logo NodeSeekbeta

【求助】使用cloudflare代理pixiv api无法访问

我想使用cloudflare的worker去代理pixiv的网页api,无论如何操作他都显示access block。求助大佬们有办法解决吗?
worker里运行的代码如下

// API地址
const api = 'https://www.pixiv.net/';
// 替换地址 (改为空值不替换)
const referTo = 'https://pixivproxy.jb5mnthzkr.workers.dev/';

async function handleRequest(request, origin, pathname, searchParams) {
  const apiUrl = new URL(api);
  apiUrl.pathname = pathname;

  for (const [key, value] of searchParams) {
    apiUrl.searchParams.append(key, value);
  }
  request = new Request(apiUrl, request);
  request.headers.set('Origin', apiUrl.origin);
  request.headers.set(
    'User-Agent',
    `
  Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36`
  );
  request.headers.set(
    'Cookie',
    `first_visit_datetime_pc=2023-12-04%2022%3A59%3A06; p_ab_id=3; p_ab_id_2=8; p_ab_d_id=413186323; yuid_b=QmOZc3Y; privacy_policy_agreement=6; c_type=23; privacy_policy_notification=0; a_type=0; b_type=1; cf_clearance=HOHv0yK_Oud3Sa6uAw22fnU3jmm0pkg4ad394O43570-1701698378-0-1-5563bb9a.22931ce.262e47a-0.2.1701698378; _ga=GA1.2.1288699713.1701698348; _ga_75BBYNYN9J=GS1.1.1701698347.1.1.1701698851.0.0.0; PHPSESSID=botul8mqs7jp32hvbnl8ebgca350f6m3; cc1=2024-04-07%2023%3A03%3A19; __cf_bm=9X8RqHcbturIbBoLx2y4M_gjPPNgLOGtadHswmAifzE-1712498599-1.0.1.1-tviHI53aB9dxXNxNdI6_Yt5kYm2jMXXAURj.yXYpuZjvJIpYhgBo7Q8VxTGe82iFk8LjelTWHUwPJPMxE55ouHOWdGklN9Huj6fcc1FIRC4`
  );

  request.headers.set('Referrer', `https://www.pixiv.net/`);

  let response = await fetch(request, { method: 'GET' });
  if (response.status == 200 || response.status == 301 || response.status == 302) {
    let changed = false;
    if (referTo.length > 0) {
      const type = response.headers.get('Content-Type');
      if (
        type != null &&
        (type.includes('text') || type.includes('javascript') || type.includes('json'))
      ) {
        let body = await response.text();
        body = body.replace(api, referTo);
        response = new Response(body, response);
        changed = true;
      }
    }
    if (!changed) response = new Response(response.body, response);

    response.headers.set('Access-Control-Allow-Origin', origin);
    response.headers.append('Vary', 'Origin');
  }
  return response;
}

addEventListener('fetch', (event) => {
  const request = event.request;
  const url = new URL(request.url);
  const origin = request.headers.get('Origin');
  const pathname = url.pathname;
  const searchParams = url.searchParams;
  return event.respondWith(handleRequest(request, origin, pathname, searchParams));
});


代理的地址:https://pixivproxy.jb5mnthzkr.workers.dev/touch/ajax/illust/details?illust_id=121121

访问被阻断。
dash.cloudflare.com_dd452a7fd1809d89a555d00d3cc6ee87_workers_services_edit_pixivproxy_production (1).png

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有61018位seeker

🎉欢迎新用户🎉