2015-10-19 3 views
-1

Я хочу передать файл с моего приложения для Android на http-адрес. Я написал следующий код, но не работает. Адрес hhtp=192.168.0.1:8181 с и password=blank.Передача файла http http:

Где я должен установить имя пользователя и пароль для передачи файлов HTTP

String url = "http://192.168.0.1:8181"; 
File dir = Environment.getExternalStorageDirectory(); 

File file = new File(dir,DATABASE_NAME); 
try { 
    HttpClient httpclient = new DefaultHttpClient(); 

    HttpPost httppost = new HttpPost(url); 

    InputStreamEntity reqEntity = new InputStreamEntity(
      new FileInputStream(file), -1); 
    reqEntity.setContentType("binary/octet-stream"); 
    reqEntity.setChunked(true); // Send in multiple parts if needed 
    httppost.setEntity(reqEntity); 
    HttpResponse response = httpclient.execute(httppost); 
    //Do something with response... 
    Log.e("file transfer", "done"); 
} catch (Exception e) { 
    // show error 
    Log.e("error", e.getMessage()); 
} 
+0

Какой тип аутентификации требует сервер? Для обычной аутентификации, например, вы должны добавить заголовок 'Authorization'. – Henry

+0

На самом деле его адрес dir506 на dlink. Когда я ввожу адрес 192.168.0.1:8181 в адресную строку страницы браузера, тогда он спрашивает имя пользователя и пароль. Так я не знаю тип авторизации –

ответ

0

Согласно комментариям используется, скорее всего, обычная проверка подлинности. См. Раздел RFC 1945, раздел 11.1. Это означает, что заголовок формы

Authorization: Basic <base64-encoded-auth-info> 

необходимо добавить к запросу. base64-encoded-auth-info это строка имя пользователя: пароль:

admin:blank 

кодируются base64.

Все вместе:

Authorization: Basic YWRtaW46Ymxhbms= 
+0

Можете ли вы опубликовать любую ссылку примера как im new to it –

+0

Я не очень хорошо знаком с HTTP-клиентом Apache и кстати. он также устарел в Android сейчас; но эта ссылка может помочь: http://stackoverflow.com/questions/2014700/preemptive-basic-authentication-with-apache-httpclient-4/4328694#4328694 – Henry

+0

Он не работает ни одной ссылки –

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