使用Cloudflare Worker做API转发

in hive-180932 •  3 months ago 

今天行长@justyy说Cloudflare 现在的worker免费,每天可以10万次调用

这个worker的应用场景很多,比如load balancing, api转发,在线代理等等

比较有兴趣的是api转发。api转发应用场景是,比如你想访问一个国外的api,但是国内的墙很高,翻不过去,你就可以用api转发了

你把请求发向没有墙的worker,这个worker会替你把请求转发到有墙的api去,等收到api返回的数据后,再返回给你。这样你就可以在没墙的情况下访问国外api

转发API的代码:

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

/**
 * Respond to the request
 * @param {Request} request
 */
async function handleRequest(request) {
  let url = new URL(request.url);
  let param = url.param;
  let newUrl = new URL("REDIRECT URL");
  newUrl.pathname=url.pathname;
  for (const [key, value] of url.searchParams) {
    newUrl.searchParams.set(key,value);
  }
  return fetch(newUrl,request);
}

目前这个工具运行良好,就是每天的10w请求有点不太够用

image.png

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

@upvu voted. voting percent : 0.07 %, delegate sp : 100, token amount : 0, total sp of upvu : 2044900

Support your post (by ACTNEARN Token)
Thank you for sharing, Nice post

Du erhieltest aufgrund deiner LanaCharleenToken Miner ein Upvote von @sebescen81 alt-Text
Vielen lieben Dank für euren Support. Der Account meiner Tochter wächst und gedeiht.

好厉害的操作。。。

拍拍拍