当前位置: 首页 > news >正文

android环境下解决java.io.IOException: Malformed ipv6异常的方法

今天做客户端想服务端提交信息的时候,报出了如标题所显示的方法

方法以及参数如下:

输入的参数为:http://192.168.1.173:8080/Api/petinfo/petinfo?flag=adopt&json=[{"pettype":"100","petname":"ge"}]

public static InputStream getInputStreamFromUrl(String urlstr){
        try {
            InputStream is = null;
            HttpURLConnection conn = null;
            System.out.println("urlstr:"+urlstr);
            URL url = new URL(urlstr);
            conn = (HttpURLConnection) url.openConnection();
            if (conn.getResponseCode() == 200) {
                is = conn.getInputStream();
                return is;
            }
        } catch (Exception e) {
            System.out.println(e.toString());
        }
        return null;
    }


返回异常:
09-1609:32:58.892:I/System.out(416):java.io.IOException:Malformedipv6address:[192.168.1.173:8080]
很纳闷,因为我如果直接打开模拟器的浏览器,输入以上的网址是能正常访问的。

后来经过网上的朋友的帮助,解决了这个问题,源解决方案连接:

http://stackoverflow.com/questions/6811482/use-url-on-android-throws-ioexception-malformed-ipv6-address

翻译过来就是使用HttpURLConnection时直接输入url就会报上述的异常,这是一个BUG,在以后的版本中应该会被改正。

但是如果现在就想调用这个方法的话,那么就使用URL url = new URL(protocol, host, port, file);这个方法

当然,这个源解决方案中也有一个小小的BUG,file这个参数前面是需要加上/的。

正确的解决方式应该是:

URL url = new URL(“http”,"192.168.1.173", "8080", "/Api/petinfo/petinfo?flag=adopt&json=[{"pettype":"100","petname":"ge"}]");

然后在进行测试,通过。

相关文章:

  • Scatter“秒传”的速度秒杀了云存储
  • 腾讯移动游戏平台发布了《天天酷跑》游戏
  • 黑马程序员_String练习
  • android下基本json串的生成与解析
  • FileZilla无法连接ftp服务器的解决方案
  • nginx编译安装报错src/os/unix/ngx_files.c: In function 鈔gx_write_chain_to_file?
  • WiFi基本知识
  • nginx配置DocumentRoot
  • 黑马程序员_StringBuffer,包装类
  • 【Android病毒分析报告】 - ZooTiger “集恶意推广、隐私窃取、恶意吸费于一体”...
  • windows下如何用wireshark抓本地回路抓包
  • 知道版本对于出0day后批量攻击dedecms有非常大的帮助,先判断版本再选择相应exp,效率大增...
  • 如何让Windows Server 2008服务器支持被动模式
  • 如何诊断crs 安装时 root.sh 脚本执行错误
  • 站长
  • 【Leetcode】101. 对称二叉树
  • [LeetCode] Wiggle Sort
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • JavaScript类型识别
  • Java的Interrupt与线程中断
  • js正则,这点儿就够用了
  • TypeScript迭代器
  • vue-router 实现分析
  • 编写符合Python风格的对象
  • 给初学者:JavaScript 中数组操作注意点
  • 驱动程序原理
  • 少走弯路,给Java 1~5 年程序员的建议
  • 数据结构java版之冒泡排序及优化
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • $.proxy和$.extend
  • (3)STL算法之搜索
  • (Matlab)使用竞争神经网络实现数据聚类
  • (八)Flask之app.route装饰器函数的参数
  • (六)激光线扫描-三维重建
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (译)计算距离、方位和更多经纬度之间的点
  • .net MVC中使用angularJs刷新页面数据列表
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .Net Web窗口页属性
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET上SQLite的连接
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • @media screen 针对不同移动设备
  • @ModelAttribute 注解
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [20170705]diff比较执行结果的内容.txt
  • [20171101]rman to destination.txt
  • [AX]AX2012 R2 出差申请和支出报告
  • [C++] Windows中字符串函数的种类
  • [Flex] PopUpButton系列 —— 控制弹出菜单的透明度、可用、可选择状态
  • [iOS]随机生成UUID通用唯一识别码
  • [leetcode] 103. 二叉树的锯齿形层次遍历
  • [linux] GFLOPS和TFLOPS的换算
  • [MySQL] 二进制文件