2016-07-05 6 views
-2

Это мой первый проект. Когда я использую Сообщение, я не могу отправить данные на сервер.android use HttpPost и StringEntity

Вот мой код:

JSONObject json = new JSONObject(); 
     try 
     {   json.put("_username", mUsername); 
        json.put("_password", mPassword); 
        String s=json.toString(); 
        System.out.println("string: " + s); 
        StringEntity se = new StringEntity(s,HTTP.UTF_8); 
        System.out.println("0.string: " + se); 
        se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/x-www-form-urlencoded")); 
        System.out.println("1.string: " + se); 
        httpRequest.setEntity(se); 

И catch (Exception e) Вот LogCat:

07-05 13:09:57.731 16809-16809/com.ad_imagine.jsonconnection I/System.out: string: {"_username":"[email protected]","_password":"aze"} 
07-05 13:09:57.733 16809-16809/com.ad_imagine.jsonconnection I/System.out: 0.string: [email protected] 
07-05 13:09:57.733 16809-16809/com.ad_imagine.jsonconnection I/System.out: 1.string: [email protected] 
07-05 13:09:57.768 16809-16809/com.ad_imagine.jsonconnection I/System.out: 6.Exception: null 

Что такое [email protected]? Почему 0.string неверна?

+0

Почему вы отправляете данные JSON, но сообщаете серверу свои данные формы? – larsgrefer

+0

Можете ли вы прояснить, как вы хотите, чтобы ваш запрос POST выглядел? – larsgrefer

ответ

0

Что такое [email protected]?

[email protected] является результатом se.toString(). StringEntity, кажется, не переопределяют toString() поэтому реализация Object.toString() используется, которая просто возвращает <FullyQualifiedClassName>@<hashCode>

Почему 0.string не исправить?

Вы не можете сказать, что это не правильно. Вы должны прочитать от se.getContent()

+0

Вам не нужно добавлять 'se.toString()', компилятор добавил это для вас. 'System.out.println (" 0.string: "+ se);' и 'System.out.println (" 0.string: "+ se.toString());' exaccty то же самое. Вы должны позвонить se.getContent() и прочитать его. – larsgrefer

+0

но как изменить код? Я хочу 'se' быть' _username = lorem @ ipsum.fr & _password = aze', тогда я могу отправить его на сервер –

+0

спасибо, вы терпеливы –

Смежные вопросы