在URLConnection中有两个字段控制连接是否可以获取数据(doInput)和发送数据(doOutput)
我们直接看java API的解释吧!
1、doInput字段
可以看到获取数据(doInput)默认为true,说明可以从服务器获取数据,这也就是我们经常拿URLConnection就用的原因吧,因为默认呐。
URLConnection内部实现是socket,因为socket是TCP(全双工),所以加入两个字段限制一下吧。
getDoInput()获取doInput的值 , setDoInput(boolean)设置doInput的值。
2、doOutput字段
同时,看看发送数据(doOutput)默认为false,说明这个UrlConnection对象不能向服务器发送信息,因为默认false。
那么要发送必须更改这个值。getDoOutput()获取doOutput的值,setDoOutput(boolean)这只doOutput的值
如果要发送你可以写这样的代码:
假设有个UrlConnection实例conn
if(!conn.getDoOutput()){
conn.setDoOutput(true);
}
看到《java网络编程》有这个么一句话-->为一个http URL将doOutput设置为true时,请求方法将由GET变为POST。(其实个人有点不解,如果本来get是使用自己构造出来的url参数怎么转呢?)
以上仅个人看法,我并没有证实,但也八九不离十了,有错误请指出,感谢