cuteribs/ribsnetwork

aliyun.sh不能添加更新"@"二级域名修改方法!

Closed this issue · 3 comments

oldiy commented

if [ -z "$SubDomain" ]; then
SubDomain="@"
fi

修改为转义符即可,阿里云不支持特殊符号,垃圾!

if [ -z "$SubDomain" ]; then
SubDomain=%40
fi
以上修改好即可
不支持*

想支持*也可以加入判断,不过脚本可能有BUG,或者阿里云有问题这里自行研究!我用@就够了!
#add support */%2A and @/%40 record
case $4s_name in
*)
SubDomain=%2A
;;
@)
SubDomain=%40
;;
*)
SubDomain=$4
;;
esac

amood commented

可以不直接修改文件,在参数中使用%40也可以

文件中的函数需要修改一下

urlencode() {
	local raw="$1";
	local len="${#raw}"
	local encoded=""

	for i in `seq 1 $len`; do
		local j=$((i+1))
		local c=$(echo $raw | cut -c$i-$i)

		case $c in [a-zA-Z0-9.~_-]) ;;
			"@")
			c="%2540" ;; # fix bug - @.xxx.cn first class domain name 
			*)
			c=$(printf '%%%02X' "'$c") ;;
			
		esac

		encoded="$encoded$c"
	done

	echo $encoded
}

可以不直接修改文件,在参数中使用%40也可以

是的. 直接在传参之前 URLENCODE 好就行了