当前位置: 首页 > 知识库问答 >
问题:

无法从android手机发送volley post请求

苏翰学
2023-03-14

我正在使用Volley从我的android应用程序向运行在http://192.168.1.4:3000/Battery_Signal_Report中的本地服务器发送一个带有参数的http post请求。我很确定服务器运行正常(我用Postman成功地检查了它)。

此外,我使用ip 10.0.2.2成功地通过Android Studio的模拟器发送了请求

为了使它正常工作,我使用了各种请求实现,包括JsonObjectRequest、StringRequest和这里描述的自定义请求:Volley JsonObjectRequest Post request not working

另外,我在某处读到过Volley post请求的请求头有一些问题,所以我尝试用不同的方法覆盖它。

什么都不起作用。每次使用空的VolleyError输入时都会调用onErrorResponse。

提前道谢。

共有1个答案

唐阳晖
2023-03-14

对于遇到这种情况的其他人,您需要忘记头重写,并设置自己的getBodyContentType()和getBody()方法。遵循以下模式:

StringRequest stringRequest = new StringRequest(Request.Method.POST, url, successListener, errorListener) {
        @Override
        public String getBodyContentType() {
            return "application/json; charset=utf-8";//set here instead
        }

        @Override
        public byte[] getBody() {
            try {
                Map<String, String> params = yourObject.getMappedParams();
                JSONObject json = new JSONObject(params);
                String requestBody = json.toString();
                return requestBody == null ? null : requestBody.getBytes("utf-8");
            } catch (UnsupportedEncodingException uee) {
                return null;
            }
        }
    };
 类似资料:
  • 我试图使用eclipse或intellij向api发送get请求,作为使用java/jUnit和放心框架工作的测试的一部分。 每个请求都失败,并显示以下消息 2018年3月13日下午1:29:56组织。阿帕奇。http。impl。客户DefaultHttpClient tryConnect信息:连接到{s}时捕获到I/O异常(java.net.SocketException)- 顺便说一句,我正在

  • 问题内容: 我如何从充当客户端的黑莓应用程序向服务器发送JSON请求,以从服务器获取信息以在BB应用程序中使用它们,我在Windows 7下使用黑莓Eclipse 我尝试此代码 我在线程中通过run方法调用此方法 当模拟器到达( rc = c.getResponseCode(); )时,运行代码停止 我调试代码,并在到达此语句并出现此错误时停止 本地连接在〜120000后超时 任何帮助 问题答案:

  • 问题内容: 我正在使用下面的代码发送http POST请求,该请求将对象发送到WCF服务。可以,但是如果我的WCF服务还需要其他参数怎么办?如何从Android客户端发送它们? 这是我到目前为止编写的代码: 问题答案: 使用POST发布参数: 你错过的部分在以下内容中,即如下。 其余的事情你都可以做到。

  • 我正在尝试根据下面的代码提出帖子请求: 此请求不需要身份验证,也不需要登录和密码。在邮递员那里,我可以成功地提出请求,但当我尝试执行上述代码时,我得到了: 401未经授权 我在邮递员那里模拟了错误,它给了我下面的信息: 当我在Postman中将身份验证方法更改为“No Auth”时,请求运行良好。 我想我必须在代码中设置这个选项“No Auth”,但我不知道如何设置。 我这样做: 但错误仍在继续。

  • 我正在尝试发送添加了标题的JSON格式。csv格式到前端进行下载。在发送HTTP响应时,我遇到了一个“不是JSON可序列化的”错误。 我的 文件: 打印响应cmd正在打印: 但是,最后一行会抛出如下错误:

  • 我有一个. NET Core Docker容器,它无法向外部世界发送请求。我不能curl或ping任何东西,包括像8.8.8.8这样的dns记录。然而,MongoDB容器能够ping和curl到外部世界。 我尝试了几种图像: microsoft/dot net: 2.0-运行时 微软/asp网络核心 容器的传入连接工作正常。 Docker在ubuntu机器上运行。我正在使用Docker Swell