2016-06-17 152 views
0

我想在我的Android应用中访问受.htaccess保护的文件。下面是我需要得到一个文件,但不是.htaccess保护。我不知道我可以把我的凭据放在哪里......有人可以帮我添加凭据吗?或者提出另一种方式来收集文件?感谢提前:)访问.htaccess受保护的文件Android

 InputStream inputStream = null; 
     URL url = null; 
     try { 
      url = new URL(THENEEDEDURL); 
      HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
      conn.setReadTimeout(10000 /* milliseconds */); 
      conn.setConnectTimeout(15000 /* milliseconds */); 
      conn.setRequestMethod("GET"); 
      conn.setDoInput(true); 
      // Starts the query 
      conn.connect(); 
      inputStream = conn.getInputStream(); 

      InputStreamReader reader = new InputStreamReader(inputStream); 
      Gson gson = new GsonBuilder().create(); 
      winnendeCodes = gson.fromJson(reader, WedstrijdCode[].class); 
      conn.disconnect(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

回答

0

您需要在HttpURLConnection对象使用setRequestProperty

InputStream inputStream = null; 
URL url = null; 
try { 
    url = new URL(THENEEDEDURL); 
    HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
    // might not work, instead use bellow code 
    // String htpasswd = Base64.encode("username:password"); 
    String htpasswd = Base64.encodeToString(("username:password").getBytes("UTF-8"), Base64.NO_WRAP); 
    conn.setRequestProperty("Authorization", "Basic " + htpasswd); 
    conn.setReadTimeout(10000 /* milliseconds */); 
    conn.setConnectTimeout(15000 /* milliseconds */); 
    conn.setRequestMethod("GET"); 
    conn.setDoInput(true); 
    // Starts the query 
    conn.connect(); 
    inputStream = conn.getInputStream(); 

    InputStreamReader reader = new InputStreamReader(inputStream); 
    Gson gson = new GsonBuilder().create(); 
    winnendeCodes = gson.fromJson(reader, WedstrijdCode[].class); 
    conn.disconnect(); 
} catch (IOException e) { 
    e.printStackTrace(); 
}