Android通过选项向Heroku发送curl请求

时间:2016-12-31 00:01:16

标签: android curl heroku httpclient

使用Android,我尝试使用以下格式发送curl请求:

curl http://appname.herokuapp.com/send -d "user_id=pPPu4yZap2&title=hello&body=message to mjpablo23"

我正在尝试使用AsyncHttpClient:https://guides.codepath.com/android/Using-Android-Async-Http-Client

我的网址设置如下:

String url = "http://appname.herokuapp.com/send -d ";

我像这样呼叫http客户端:

AsyncHttpClient client = new AsyncHttpClient();
params = new RequestParams();
String user_id = "pPPu4yZap2";
params.put("user_id", user_id);
params.put("title", "the title");
params.put("body", "the message");
client.post(url, params, new JsonHttpResponseHandler() {
        });

但是,我不知道如何处理-d选项。我应该将其包含在URL中吗?发布正确的命令使用?

我在Android中遇到此错误:

Process: com.android.todo4group, PID: 27042
                                                                        java.lang.IllegalArgumentException: Illegal character in path at index 45: http://appname.herokuapp.com/register -d 
                                                                            at java.net.URI.create(URI.java:733)
                                                                            at com.loopj.android.http.AsyncHttpClient.getURI(AsyncHttpClient.java:1542)

1 个答案:

答案 0 :(得分:0)

我在网址中不需要-d选项。 -d是curl中的一个选项,意味着包含数据。通过发送params,我将数据包含在httpclient调用中。取出-d后它可以工作。