1

次の API への投稿リクエストを作成しようとしています。

consumer.api.mobdev.machies.com

これを行うために、次のコードを記述しました。

    HttpPost httpPost = new HttpPost("http://consumer.api.mobdev.machies.com/v3/logins");

    try {
        // Add user name and password
     EditText uname = (EditText)findViewById(R.id.username);
     String username = uname.getText().toString();

     EditText pword = (EditText)findViewById(R.id.password);
     String password = pword.getText().toString();

        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
        nameValuePairs.add(new BasicNameValuePair("grant_type","password"));
        nameValuePairs.add(new BasicNameValuePair("username", username));
        nameValuePairs.add(new BasicNameValuePair("password", password));
        httpPost.setHeader("Host","http://consumer.api.mobdev.machies.com");
        httpPost.setHeader("Content-Type","application/xml");
        httpPost.setHeader("Accept-Language","en-US");
                    httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        Log.w("Post", "Execute HTTP Post Request");
        HttpResponse response = httpclient.execute(httpPost);

        String str = inputStreamToString(response.getEntity().getContent()).toString();

str は、私が得る応答を指します。logcats に出力すると、無効なホスト名を示す次の応答が返されました。コードに入力したホスト名に何か問題がありますか? 私は残りのスタイルのAPIを使用するのが初めてなので、助けてください

4

1 に答える 1

0

ここでHttpClientを使用することができます

          HttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost(strUrl);
    if (mHeader != null) {
        for (Header header : mHeader) {
            httpPost.addHeader(header);
        }
    }
    try {
        MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
        if (nameValuePair != null) {
            ContentBody cb;
            for(NameValuePair value: nameValuePair){
                cb =  new StringBody(value.getValue(),"", null);
                entity.addPart(value.getName(), cb);
            }
        }
        if(filepath != null && filepath.length() > 0){
            File f = new File(filepath);
            entity.addPart("uploadedfile", new FileBody(f));
        }
        httpPost.setEntity(entity);

        HttpResponse httpResponse = httpClient.execute(httpPost);
        response = EntityUtils.toString(httpResponse.getEntity());
    } catch (ClientProtocolException e) {
        e.printStackTrace();
        //Display();


    } catch (IOException e) {
        e.printStackTrace();
        //Display();            
    }

    if (mIsProgress)
        progress.dismiss();
    return response;
}
于 2012-07-03T05:04:59.943 に答える