Android Studio发送http请求服务器没有响应

wdq92500 2016-09-06 10:28:22
用java web工程写了一个servlet并配置了tomcat,能成功运行,并在浏览器上输入url "http://xxxxxx:8080/hello/DataServiceServlet“服务器端有反应,但是在android studio通过模拟器执行URL httpUrl = new URL(url);
/*获取网络连接*/
HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection();
/*设置请求方法为GET方法*/
conn.setRequestMethod("GET");
/*设置访问超时时间*/
conn.setReadTimeout(5000);时没有报错但服务器也没反应,换了台电脑,但是连的是真机服务器就有反应了
请问这是为啥
...全文
650 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alan_Mo 2016-09-07
  • 打赏
  • 举报
回复
可能的一个原因是,模拟器不能解析你PC的本地ip地址,比如如果用了http://localhost:8080/...或者127.0.0.1这样的url的时候就不行。解决办法是改成http://10.0.0.2:8080/hello/DataServiceServlet,因为10.0.0.2是用来模拟器访问你的本地机器的
资源下载链接为: https://pan.quark.cn/s/abbae039bf2a 在 Android 开发中,HTTPS 是保障数据传输安全的重要手段,而 HttpsURLConnection 是实现 HTTPS 通信的关键工具。HTTPS 是 HTTP 与 SSL/TLS 的结合,通过加密和身份验证确保数据安全。在 Android Studio 中,使用 HttpsURLConnection 发送 POST 请求并处理响应的步骤如下: 初始化连接:创建 URL 对象并指定目标地址,通过 openConnection() 获取 HttpsURLConnection 实例: 设置请求方法:将请求方法设置为 POST,默认为 GET: 启用输出流:设置 setDoOutput(true) 以允许写入请求体: 设置请求头:根据需要设置请求头,例如 Content-Type: 写入请求体:通过 DataOutputStream 将 POST 数据写入连接: 处理响应:读取服务器返回的响应码和响应体: 关闭连接:请求完成后关闭连接以释放资源: 在实际开发中,可能还需要处理异常、设置超时、处理证书等复杂情况。例如,如果服务器使用自签名证书,可能需要忽略证书验证,但这会削弱安全性,因此不推荐在生产环境中使用。在提供的 test_https 文件中,可能包含了一个简单的 DEMO 示例,用于演示上述步骤。通过这个 DEMO,开发者可以更好地理解如何在 Android Studio 中使用 HttpsURLConnection 发送 POST 请求。总之,掌握这些步骤对于 Android 开发者来说至关重要,它可以帮助开发者安全地与 HTTPS 服务器进行交互。

80,476

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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