2013-05-16 3 views
-1

Я пытаюсь отправить Cookie с HttpGet Url. которые получают от моей услуги (звонок HttpGet), для аутентификации. Я отправляю его с помощью Url, но каждый раз получаю сообщение об ошибке.Как отправить Cookie с HttpGet Url?

нравится: "Пользователь должен быть аутентифицирован".

Я получаю следующие Ошибка.

05-15 10:28:17.623: I/System.out(18393): <root> 
05-15 10:28:17.623: I/System.out(18393): <status>0</status> 
05-15 10:28:17.623: I/System.out(18393): <error>User must be Authentificated</error> 
05-15 10:28:17.623: I/System.out(18393): </root> 
05-15 10:28:17.623: I/System.out(18393): response =: [email protected] 
05-15 10:28:17.623: I/System.out(18393): sts value =: 0 
05-15 10:28:17.623: I/System.out(18393): print customer actived bid api sts values 1 che... 

Скриншот моего демо с сообщением об ошибке. enter image description here

Кто-нибудь есть идея разрешить эту проблему ...

+0

Можете вы добавить код? Sidenote: Вы знаете, что это * отменить * вместо * cencel * правильно? – Rob

ответ

0

Сервер посылает вам Set-Cookie заголовок, который вы должны будете использовать, чтобы получить печенье и отправить его во всех других запросов. Вот небольшая демонстрация.

String cookie; 
private static String cookieHeader = "Cookie"; 
private static String Header_SetCookie = "Set-Cookie"; 

public HttpResponse get(String url) { 
    HttpGet getMethod = new HttpGet(url); 
    DefaultHttpClient hc = new DefaultHttpClient(); 
    if(cookie!=null) { 
     getMethod.addHeader(cookieHeader, cookie); 
    } 
    HttpResponse response = hc.execute(getMethod); 
    Header[] headers = response.getAllHeaders(); 
    for (int i = 0; i < headers.length; i++) { 
     Header h = headers[i]; 
     if(h.getName().equals(Header_SetCookie)){ 
      cookie = h.getValue(); 
     } 
    } 
    return response; 
} 
Смежные вопросы