昨晚研究了好久,终于完成了从get参数中提取域名...

嗷嗷 10天前 13

想要效果就是从get参数中提取域名和路径来反代
主要是也不懂javascript
百度找的那些也不能直接用
最后自己折腾了好久,用正则处理参数
也是钻牛角尖了,有个问题,比如hostloc.com/?a=aa&b=bb&c=cc
比如要获取a参数,我写的正则就是[?&]a=(.*?)[&$]
但是到了[?&]c=(.*?)[&$]的时候(最后一个),不知道为什么,就是匹配不到$
我重新换了很多种写法,都没用
最后的方法是,直接在url字符串最后加了个&,再用正则处理
就好了
效果就是这样hostloc.com/?host=baidu.com&path=/sb
反代的就是baidu.com/sb
昨晚就想水一下,但是感觉很累,懒得编辑
最新回复 (17)
  • tkzc 10天前
    引用 2
    1. var url_string = "http://www.example.com/t.html?a=1&b=3&c=m2-m3-m4-m5"; //window.location.href
    2. var url = new URL(url_string);
    3. var c = url.searchParams.get("c");
    4. console.log(c);
    https://stackoverflow.com/questions/979975/get-the-values-from-the-get-parameters-javascript/979995
    善用Google
  • 摩卡 10天前
    引用 3
    js可以直接拿到里面请求参数的 window.location.search
  • 不明觉厉......还是大佬们会玩
  • antbt 10天前
    引用 5
    在前端处理这些参数?
  • baoma123 10天前
    引用 6
    hostloc.com/baidu.com/sb
    这种格式不是更方便
  • 逸笙 10天前
    引用 7
    你不是用nginx来反代的吗?你不会是用前端网页来反代吧,怎么操作的。
    nginx取参数是有定式的。
  • MjjKing 10天前
    引用 8
    摩卡 发表于 2021-10-13 09:23
    js可以直接拿到里面请求参数的 window.location.search
    对的,不需要那么费劲吧
  • 鹏宇 10天前
    引用 9
    不会的问题多在搜索引擎查查就会了
  • 楼主 嗷嗷 10天前
    引用 10
    摩卡 发表于 2021-10-13 09:23
    js可以直接拿到里面请求参数的 window.location.search
    肯定试过啦,帖子里说搜到不能直接用的就是这样的。可能是云函数里js作为后端语言的时候不支持这样子
  • 雪丫鬟 10天前
    引用 11
    我直接看不懂
  • api 10天前
    引用 12
    我也直接看不懂
  • xshell 10天前
    引用 13
    我是nginx里取的
  • Faxlok 10天前
    引用 14
    最后一个取不到是因为结尾了,可以用这个[?&]c=(.*?)$
  • 摩卡 10天前
    引用 15
    嗷嗷 发表于 2021-10-13 11:41
    肯定试过啦,帖子里说搜到不能直接用的就是这样的。可能是云函数里js作为后端语言的时候不支持这样子 ...
    nodejs里是提供了url这个模块的 应该可以解析吧
  • 亦初 10天前
    引用 16
    直接document.domain就可以获取到域名吧
  • 楼主 嗷嗷 10天前
    引用 17
    摩卡 发表于 2021-10-13 14:17
    nodejs里是提供了url这个模块的 应该可以解析吧
    我就是觉得应该有,所以我使劲搜。结果前端js的内容,很多重复的内容,又都用不了。我就自己用正则处理了
  • 楼主 嗷嗷 10天前
    引用 18
    tkzc 发表于 2021-10-13 09:15
    https://stackoverflow.com/questions/979975/get-the-values-from-the-get-parameters-javascript/97999 ...
    早知道,还是MJJ
  • 游客
    19
返回