Проблема с HTTP-сообщением в Android - PullRequest
0 голосов
/ 12 мая 2011

Я разрабатываю приложение, которое подключается к моему сайту drupal.Следующий код, который я пытаюсь использовать:

public class SignIn extends Activity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        try {
            HttpClient client = new DefaultHttpClient();  
            String postURL = "http://test2.icerge.com/testpoint/user";
            HttpPost post = new HttpPost(postURL);
                List<NameValuePair> params = new ArrayList<NameValuePair>();
                params.add(new BasicNameValuePair("account[name]", "Bob Kelso"));
                params.add(new BasicNameValuePair("account[pass]", "awefulawefulman"));
                params.add(new BasicNameValuePair("account[mail]", "bobkelso@sacredheart.org"));
                UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params,HTTP.UTF_8);
                post.setEntity(ent);
                HttpResponse responsePOST = client.execute(post);  
                HttpEntity resEntity = responsePOST.getEntity();  
                if (resEntity != null) {    
                    Log.i("RESPONSE",EntityUtils.toString(resEntity));
                }
        } catch (Exception e) {
            e.printStackTrace();
            Log.i("ERROR",e.toString());
        }
    }
}

Но я продолжаю получать java.net.unknownhostexception.У меня есть права доступа к Интернету в файле манифеста.

Я должен упомянуть, что эта проблема возникает не на эмуляторе, а на реальном устройстве.Кто-нибудь может помочь и дать мне некоторое представление, почему это работает со сбоями?

Ответы [ 2 ]

1 голос
/ 12 мая 2011

401 означает, что вам нужно правильно пройти аутентификацию: использует ли сайт регистрацию на основе форм или базовую аутентификацию HTTP?Если он использует обычную аутентификацию, вам нужно установить соответствующий заголовок Authorization .См. Пример в http://hc.apache.org/httpcomponents-client-ga/httpclient/examples/org/apache/http/examples/client/ClientAuthentication.java, чтобы узнать, как выполнить базовую аутентификацию.

1 голос
/ 12 мая 2011

Это распространенная проблема при разработке на эмуляторах Android.Остановите (убейте) adb.exe и эмулятор, и он обычно работает для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...