其实这不算一个博客,因为这里只是记录一个问题。

什么问题呢:

网络请求失败,报错java.lang.IllegalArgumentException: Invalid input to toASCII: t_art***.hun***.cn

这里的t_art***.hun***.cn 是请求的域名。很明显,域名有下划线。

这样的用法是不规范的,为什么不说是错误的呢,两个原因:

1、因为他是可用的,并且绝大多数情况下是没有问题的。但是,我们他会在一些情况下会有问题。

例如:

开发机器:nexus 6
系统:Android 7.0
开放环境: Android studio 2.2.3
网络请求框架:retrofit:2.1.0
请求协议:https

为什么列这么全,因为大多数手机上没问题啊。小米没问题,华为没问题,google 的postman工具测试也没问题,http请求也没问题。但是,如果满足上面的条件,就会请求失败。

2、其实这里有个RFC 952规范 - 美国国防部互联网主机表规范中的相关条文:

A "name" (Net, Host, Gateway, or Domain name) is a text string up to 24 characters drawn from the alphabet (A-Z), digits (0-9), minus sign (-), and period (.)

//规范指出域名只能是字母、数字和短线(-)还有点(.)。

处理方法可能有多中,我是让服务器哥们换了域名,以为移动端处理,可能因为不规范的域名,会出现别的意料不到的问题。

关于域名用下划线的一个问题相关推荐

  1. HTML5下划线是一个常见的问题

    如果你要当鼠标光标移到链接上时将链接显示为橙色斜体,那么css可以这样写:a:hover{color:orange;font-style:italic;}如何去掉链接的HTML5下划线是一个常见的问题 ...

  2. python3 下划线的5中含义

    单下划线和双下划线在Python变量和方法名称中都各有其含义.有一些含义仅仅是依照约定,被视作是对程序员的提示 - 而有一些含义是由Python解释器严格执行的. 如果你想知道"Python ...

  3. python中单下划线_foo与双下划线_Python中单下划线和双下划线

    什么是 Python? Python 之父 Guido van Rossum 说:Python是一种高级程序语言,其核心设计哲学是代码可读性和语法,能够让程序员用很少的代码来表达自己的想法. 对于我来 ...

  4. python变量下划线开头_一日一技:python中下划线在不同位置的作用

    在Python的变量名和方法名中,单下划线和双下划线都有各自的含义,有的仅仅是作为约定,用于提示开发人员,而有的则对Python解释器有特殊含义. 你可能有些疑惑,在Python中变量名和方法名中的单 ...

  5. 下划线_Python中下划线的5种含义

    本文介绍了Python中单下划线和双下划线("dunder")的各种含义和命名约定,名称修饰(name mangling)的工作原理,以及它如何影响你自己的Python类. 单下划 ...

  6. java 英文数字下划线_为什么Java7开始在数字中使用下划线

    JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量.其中的一个特征是介绍字面常量数字的下划线.从Java7开始,你就可以在你的Java代码里把长 ...

  7. 关于 Android 中 TabLayout 下划线适配文字长度解析(附清晰详细的源码解析)

    温故而知新 坚持原创 请多多支持 一.问题背景 假期在做项目的时候,当时遇到了一个需求就是需要使用 TabLayout + ViewPager 来实现一个上部导航栏的动态效果,并且希望下划线的长度等于 ...

  8. Word7中尾部空格不能显示下划线的解决方法

    Word2007中尾部空格不能显示下划线的解决方法    1.  调出"段落"对话框,将"中文版式"->"允许西文在„„换行"打勾.这 ...

  9. css中a标签中去掉下划线注意事项

    需求文件 css中a标签中去掉下划线注意事项 对于css中a 标签去掉下划线有一个注意事项代码如下: <!DOCTYPE html> <html><head>< ...

  10. python添加横线代码_Python中的五种下划线

    1 1.单前导下划线 _var2 3 单个下划线是一个Python命名约定,表示这个名称是供内部使用的. 它通常不由Python解释器强制执行,仅仅作为一种对程序员的提示4 5 程序员使用名称前的单下 ...

最新文章

  1. 简历空空,如何编写一个面试时能拿的出手的真实项目?
  2. linux 网络编程 ping,Linux 网络编程基础(4) -- Ping 的C代码实现
  3. 简单mysql 查询_简单的mysql查询
  4. MBTI职业性格测试结果——ISTJ型
  5. 重写CListCtrl滚动条,遇到的问题。
  6. python中dump用法_python中json庫中的load、loads、dump、dumps的區別與用法
  7. 《Elasticsearch 源码解析与优化实战》样章-第 6 章 数据模型
  8. [Android] charles高级使用总结
  9. App云端打包失败常见问题汇总
  10. 2020年计算机二级access考试大纲,2020年全国计算机二级ACCESS考试分析与小结(7页)-原创力文档...
  11. HIVE中常见文件存储格式比较
  12. SqlServer彻底卸载,适用于任何版本,亲测了n次都可用
  13. 智慧酒店客房控制系统开发提高酒店管理效率和服务质量
  14. excel函数去重_excel去重函数
  15. 3dmax2016的破解和安装
  16. python function terminated_评论第2页 – Calibre 转换 TXT 文件出现 Errno 21 错误的解决方法 – 书伴...
  17. 什么是PERT网络分析?
  18. easyui combobox设置只能选择下拉
  19. 机器学习预测股票涨跌
  20. 基于SSM框架实现的疫情统计系统

热门文章

  1. matlab中二阶偏导数,matlab中二元函数的一阶和二阶偏导数
  2. No toolchains found in the NDK toolchains folder for ABI with prefix:XXX
  3. 【评价模型】模糊综合评价法 _数学建模 续更
  4. C语言 —— while循环语句用法与例题
  5. 多次复制粘贴工具Paste Queue Mac
  6. Linux软件安装方法之rpm包安装
  7. 都在说视频号,真有机会?
  8. (转)DirectX不是全部!3D游戏图形技术解析
  9. AutoCAD Civil 3D-装配(标准横断面)
  10. Matlab Robotic Toolbox工具箱学习笔记