IT源码网

c#之Android 中的 HTTP post 问题

yxwkf 2025年05月04日 程序员 29 0

我对 Android 开发还很陌生。这是我的问题:

我有这个端点:http://bdzservice.apphb.com/api/Image 接受 POST 请求 请求正文是一个字符串,例如:

/SearchServlet?action=showMap&id1=25&date=09/12/2013&st1=5216000&st2=5229030 

无效示例:{"/SearchServlet?action=showMap&id1=25&date=09/12/2013&st1=5216000&st2=5229030"}
无效示例 2:{mapHref : "/SearchServlet?action=showMap&id1=25&date=09/12/2013&st1=5216000&st2=5229030"}
无效示例3: {"mapHref": "/SearchServlet?action=showMap&id1=25&date=09/12/2013&st1=5216000&st2=5229030"}

这是我到目前为止编写的代码:

HttpClient client = new DefaultHttpClient(); 
        String message; 
 
        HttpPost httpPost = new HttpPost("http://bdzservice.apphb.com/api/Image"); 
        try 
        { 
            message = url; 
            StringEntity se = new StringEntity(message, "UTF8"); 
            se.setContentType("application/json"); 
 
            httpPost.setEntity(se); 
            httpPost.setHeader("Content-type", "application/json"); 
            HttpResponse resp = client.execute(httpPost); 
            if (resp != null) 
            { 
                if (resp.getStatusLine().getStatusCode() == 204) 
                    result = true; 
            } 
 
            Log.d("Status line", "" + resp.getStatusLine().getStatusCode()); 
        } 

尝试发布数据时,我总是收到错误,但是当我手动(通过 REST 客户端)发布数据时,我得到了正常结果。

有人可以帮我解决这个问题吗?

编辑

This is the endpoint ,它是用C#(Web Api)编写的

编辑2:尝试修改服务以返回收到的正文(请参阅网址中的注释),但它返回 null,所以问题是它没有获取正文(或只是读取它)错误)

请您参考如下方法:

我在这里为 .NET Standard 创建了一个执行 POST 和 PUT 操作的库。我已经在Android上彻底测试过了。有快速入门示例可以快速上手。示例中只有一个PUT,但是原理应该是一样的:

https://bitbucket.org/MelbourneDeveloper/restclient-.net/overview


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!