idn_to_asci error: Could not convert ... to ASCII: Output would be too large or too small

idn_to_asci error: Could not convert ... to ASCII: Output would be too large or too small

idn_to_ascii(): Could not convert http://www.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaskvaliifidqabddddddddddsddddddddddddd.com to ASCII: Output would be too large or too small

url大小有限制吗?

域名有 63 个字符的限制,您的域超出了该限制。所以基本上,这个域名根本不存在。

您的函数失败的另一种可能性是生成的 ASCII 转换域超过 63 个字符。例如。如果您的域包含 62 个字符并且其中之一是非 ASCII 字符,那么生成的域将超出限制并失败。

正如您在此处看到的,转换后的域通常比原始域长:www.cliché.com 会 return www.xn--clich-fsa.com.

您可以在此处尝试转换域:IDN Conversion Tool

编辑
idn转换工具仅用于转换域名only。这意味着您需要从 url 中挑选出域名,转换该部分,然后将其替换为您原来的 url.

如果您需要转换 url 的其他部分,您可能需要为此使用其他函数。