今天做一个小功能,向服务端传送一个参数,然后服务端根据参数返回一个图片地址,加载显示对应的图片。所以考虑使用HttpURLConnection,之前偶尔用过网络请求,但是还是使用的已被废弃的HttpClient。。。今天想回归官方正路,所以试试HttpURLConnection。
在网上搜了一下HttpURLConnection的使用方法。看了三篇,主要关于传参数那块贴一下网上的代码(只是截图部分代码应该没事吧~~):
1.
2.
3.
然后,根据以上三篇博客,整理归纳一下思路:
得到需要传递的参数String,转成byte[],然后用OutputStream写入数据,完事。
再贴一下我自己的代码:
byte[] rname = URLEncoder.encode(road,"UTF-8").getBytes(); DataOutputStream dos = new DataOutputStream(connection.getOutputStream()); dos.write(rname); dos.flush();
其它代码就不贴了。。写完运行测试,服务端报错:没接到参数
瞬间懵逼。感觉自己代码没写错吧,就那么几行。。。
难道是我理解错了?希望知道怎么回事的指点一下,不胜感激!
然后,我想到的办法是直接把参数拼到URL后面,试了一下,还整得成了,贴一下代码:
感觉这样拼接很Low。。。这样写可以我能理解,但是我不明白为啥按照网上的写法不行。。。求解