OutputStream out = conn.getOutputStream()没有响应~在线等~

瞌睡君 2016-03-22 09:45:44
在做一个注册的功能,点击注册后将信息发送给服务器。
但是代码在OutputStream out = conn.getOutputStream()这条语句就出问题了,后来加了一条conn.connect();还是不行。
请问这是什么原因呢?URL地址在IOS端可用。

代码如下:
JSONObject json = new JSONObject();
json.put("password", "text");
json.put("nickname", "text");
json.put("phoneNumber", "text");
String buf = String.valueOf(json);

URL url = new URL("http://121.42.189.168/mouzhi/user/register");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/x-javascript; charset="+ "UTF-8");
conn.setRequestProperty("Content-Length", String.valueOf(buf.getBytes("UTF-8").length));

conn.connect();

Toast.makeText(Regester.this, "这里就没有输出了", Toast.LENGTH_SHORT).show();
OutputStream out = conn.getOutputStream();
out.write(buf.getBytes("UTF-8"));
out.flush();
out.close();
...全文
1079 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
诸葛非卿 2020-01-12
  • 打赏
  • 举报
回复
这个需要放在线程中执行

new Thread()
{
@Overrider
     public viod run()
  {
      super.run();
   //执行代码
  }
}
诸葛非卿 2020-01-12
  • 打赏
  • 举报
回复
我也遇到了这个问题,目前网络上说这个问题有三个 1:targetSdkVersion 29 问题,删除这条,我这里不管用 2:conn.setDoInput(true);conn.setReadTimeout(3000);我这里设置还是不管用 3:最后一条是说是这个不能用主进程,需要在线程中解决!(还没有用!)
家里敷泥呀 2016-03-22
  • 打赏
  • 举报
回复
什么现象?异常信息?
  • 打赏
  • 举报
回复
我好像在哪里看过,conn.getInputStream()的时候,http请求才正式发往服务器

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧