Проблема аутентификации..!! НА АНДРОИДЕ С HTTPURLCONNECTION - PullRequest
1 голос
/ 15 октября 2010

"Basic YWRtaW46YW RtaW4 =» правильный код для моего адреса. Я проверяю проект j2me.

А на андроиде мой метод getbase64 возвращает "Basic YWRtaW46YW RtaW4 = "это правда.

и я использую его на:

httpConnection.setRequestProperty ( "Авторизация", getBase64Encode ());

Наконец, код ответа 401

есть идеи ???

protected void connect() {
  InputStream is = null;
  OutputStream os = null;
  try {

   url = new URL(getUrl());
   System.out.println(getUrl());// duzelt
   queryString = encodeURL(queryString);
   byte postmsg[] = queryString.getBytes("UTF-8");
   conn = url.openConnection();
   if (!(conn instanceof HttpURLConnection))
    throw new IOException("Not an HTTP connection");

   httpConnection = (HttpURLConnection) conn;
   HttpOptions options=new HttpOptions();
   httpConnection.setDoInput(true);
   httpConnection.setDoOutput(true);
   httpConnection.setRequestMethod("GET");
   httpConnection.setRequestProperty("Authorization",
     getBase64Encode());
   httpConnection.connect();
   os = httpConnection.getOutputStream();// ///////////////////baglantının
   System.out.println("response code: "+ httpConnection.getResponseCode());
   // connect olup olmadıgını
   // kontrol et

   for (int i = 0; i < postmsg.length; i++) {
    os.write(postmsg[i]);
   }
   if (!cancel) {
    onReturn(httpConnection.getResponseCode(), httpConnection
      .getInputStream());
   }
   os.close();
   // httpConnection.close();
  } catch (Exception e) {
   System.out.println(e.getMessage());
   try {
    httpConnection.disconnect();
    Thread.sleep(60);
    // cancel=true; eklenmesı gerekebilir
   } catch (Exception ie) {
   }
   onError(e);
  }

1 Ответ

1 голос
/ 15 октября 2010

Существует метод setConnectTimeout (int) для HttpURLConnection.

Задает значение времени ожидания в миллисекундах для установления соединения с ресурсом, указанным этим экземпляром URLConnection.SocketTimeoutException генерируется, если соединение не может быть установлено в это время.По умолчанию 0, что означает бесконечное время ожидания.

httpConnection.setConnectTimeout(10000); /* connection timeout set to 10s */
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...