使用腾讯edgeONE的边缘函数,设计一个无服务器的返回用户IP UA以及和用户地理信息的用户接口

前言

我是参照腾讯EDGEONE的官方示例做的。参考文档https://cloud.tencent.com/document/product/1552/107290

代码

// 添加fetch事件监听器,当有请求进入时触发,使用handleRequest函数处理请求,并返回响应
addEventListener('fetch', event => {
    event.respondWith(handleRequest(event.request));
});

// 定义一个异步函数handleRequest,用于处理传入的请求
async function handleRequest(request) {
    // 获取客户端IP
    const ip = request.eo.clientIp || '';
    
    // 获取地理位置信息(如果可用)
    const geo = request.eo.geo || {};
    
    // 获取User Agent
    const userAgent = request.headers.get('User-Agent') || 'Unknown';
    
    // 构建JSON数据对象,包含IP、地理信息和User Agent
    const data = {
        ip: ip,  // 客户端IP
        userAgent: userAgent,  // 用户User Agent
        asn: geo.asn,  // 自治域系统编号
        countryName: geo.countryName,  // 国家名称
        countryCodeAlpha2: geo.countryCodeAlpha2,  // 国家两字母代码
        countryCodeAlpha3: geo.countryCodeAlpha3,  // 国家三字母代码
        countryCodeNumeric: geo.countryCodeNumeric,  // 国家数字代码
        regionName: geo.regionName,  // 地区名称
        regionCode: geo.regionCode,  // 地区代码
        cityName: geo.cityName,  // 城市名称
        latitude: geo.latitude,  // 纬度
        longitude: geo.longitude  // 经度
    };
    
    // 返回一个新的Response对象,包含JSON数据
    return new Response(JSON.stringify(data), {
        headers: {
            'content-type': 'application/json;charset=UTF-8',  // 设置响应头为JSON类型
        },
    });
}

将上面的代码添加到函数之中,即可生成对应的接口了,通过访问对应的worker地址,响应的信息如下,我将我的信息打码了

ip	"122.190.*.*"
userAgent	"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0"
asn	48*
countryName	"China"
countryCodeAlpha2	"CN"
countryCodeAlpha3	"CHN"
countryCodeNumeric	"156"
regionName	"Hubei"
regionCode	"CN-HB"
cityName	"Xianning"
latitude	*9.*
longitude	1*.32249450683594
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇