App 端判断是否是大陆用户的最简洁方式,无需 IP 库

2022-11-20 17:32:45 +08:00
 estk

React Native 为例:

useEffect(()=>{
  let mainLand = true
  axios(
    'http://google.com',
    {method: 'head', timeout: 10_000}
  ).then(({status})=>{
    if (200===status) {
      mainLand = false
    }
  }).catch(()=>{})
}, [])
13692 次点击
所在节点    程序员
92 条回复
estk
2022-11-20 21:30:09 +08:00
@lang1pal #28
那种地区在我看来也是“大陆”
jinliming2
2022-11-20 21:52:43 +08:00
@zhangshine #16 这是 ES2021 的新语法糖 Numeric Separators ,Chrome 75 开始支持
WinkeyLin
2022-11-20 21:56:36 +08:00
慕名而来,都能上 V2EX 了为什么会想出这种方法
Keanuo
2022-11-20 22:22:22 +08:00
有用,且幽默
cvbnt
2022-11-20 22:22:51 +08:00
我怀疑你想 ddos gfw ,但我没有证据
aladdinding
2022-11-20 22:24:18 +08:00
http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest 看 IP 就行

根据这个生一个排序好的 IP 地址,直接二分查找就行 log(n)
mofe
2022-11-20 22:36:28 +08:00
发现这俩一起用甚至能检测是否用了代理……
https://www.cloudflare.com/cdn-cgi/trace
https://cf-ns.com/cdn-cgi/trace
用了代理返回结果不一样……
alexmy
2022-11-20 23:19:34 +08:00
盲目猜测,应该是产品不对大陆开放吧?比如 小说 app?
caqiko
2022-11-20 23:26:28 +08:00
teenight
2022-11-20 23:29:50 +08:00
能用,有效,赞一个
bs10081
2022-11-20 23:32:14 +08:00
remember5
2022-11-20 23:37:03 +08:00
@mofe #47 一样,两次访问检测的 ip 不一样
VYSE
2022-11-20 23:49:34 +08:00
@estk 关了 follow redirect ,这样就多跳了个 http
Terminl
2022-11-21 02:01:15 +08:00
离谱
natsukage
2022-11-21 02:15:58 +08:00
什么主播女孩重度依赖(汗)
xinge666
2022-11-21 04:47:29 +08:00
实用性不高 像我这种 24 小时开着分流代理的 就没用了
baobao1270
2022-11-21 05:40:49 +08:00
@shawndev 因为用 locale 不优雅。

很多程序员都假设“世界上只有一个时区”、“世界上只有两种 locale”,导致了很多 bug
WildCat
2022-11-21 06:45:31 +08:00
@Jooooooooo 网络安全法,个人信息保护法。
sunorg
2022-11-21 07:14:30 +08:00
estk
2022-11-21 08:13:31 +08:00
@xinge666 #56
这类用户在我看来就不是“大陆用户”

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/896602

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX