You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从URL提取主机名并判断开发环境?

提取URL主机名并判断环境类型

核心思路是:先解析URL提取主机名,再检查主机名是否以dev.开头,根据结果设置布尔变量。以下是几种主流编程语言的实现方式:

JavaScript 实现

利用浏览器或Node.js内置的URL对象解析URL,直接获取去除端口的主机名,再通过startsWith方法判断:

// 处理开发环境URL
const devUrl = new URL('https://dev.example.com/xx.html');
const isDevEnv = devUrl.hostname.startsWith('dev.');
console.log(isDevEnv); // 输出: true

// 处理生产环境URL
const prodUrl = new URL('https://www.example.com/xx.html');
const isDevEnvProd = prodUrl.hostname.startsWith('dev.');
console.log(isDevEnvProd); // 输出: false

Python 实现

使用urllib.parse模块解析URL,提取netloc(包含主机名和端口),若存在端口则先拆分出纯主机名,再判断前缀:

from urllib.parse import urlparse

# 开发环境URL处理
url_dev = 'https://dev.example.com/xx.html'
parsed_dev = urlparse(url_dev)
hostname_dev = parsed_dev.netloc.split(':')[0]  # 拆分端口(如果存在)
is_dev_env = hostname_dev.startswith('dev.')
print(is_dev_env)  # 输出: True

# 生产环境URL处理
url_prod = 'https://www.example.com/xx.html'
parsed_prod = urlparse(url_prod)
hostname_prod = parsed_prod.netloc.split(':')[0]
is_dev_env_prod = hostname_prod.startswith('dev.')
print(is_dev_env_prod)  # 输出: False

注意事项

  • 若URL包含端口号(如https://dev.example.com:8080/xx.html),上述代码会自动处理端口部分,只判断主机名前缀。
  • 这里判断的是主机名以dev.开头,确保只有子域名为dev的情况才会识别为开发环境,避免误判包含dev字符的其他主机名(如mydev.example.com)。

内容的提问来源于stack exchange,提问作者Amelia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 08:07:45