Guest User

Untitled

a guest
Feb 12th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.65 KB | None | 0 0
  1. package com.ocean_shop.myapplication;
  2.  
  3.  
  4. import android.os.Bundle;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.util.Base64;
  7. import android.util.Log;
  8.  
  9. import java.io.IOException;
  10. import java.util.List;
  11.  
  12. import okhttp3.Interceptor;
  13. import okhttp3.OkHttpClient;
  14. import okhttp3.Request;
  15. import retrofit2.Call;
  16. import retrofit2.Callback;
  17. import retrofit2.Response;
  18. import retrofit2.Retrofit;
  19. import retrofit2.converter.gson.GsonConverterFactory;
  20. import retrofit2.http.GET;
  21.  
  22. public class MainActivity extends AppCompatActivity {
  23.  
  24. public static String LOG_TAG = "my_log";
  25. String username = "Пользовател";
  26. String password = "Пароль";
  27.  
  28. public interface MessagesApi {
  29.  
  30. @GET("http://SERVER/ocean_shop/odata/standard.odata/AccumulationRegister_%D0%9F%D1%80%D0%BE%D0%B4%D0%B0%D0%B6%D0%B8/Turnovers(StartPeriod=datetime'2018-02-06',%20EndPeriod=datetime'2018-02-07')?$format=json;odata=nometadata")
  31. Call<List<Message>> messages();
  32. }
  33. @Override
  34. protected void onCreate(Bundle savedInstanceState) {
  35. super.onCreate(savedInstanceState);
  36. setContentView(R.layout.activity_main);
  37.  
  38. OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
  39. httpClient.addInterceptor(new Interceptor() {
  40.  
  41.  
  42.  
  43.  
  44. @Override
  45. public okhttp3.Response intercept(Interceptor.Chain chain) throws IOException {
  46. Request request = chain.request();
  47. Request newRequest;
  48.  
  49. newRequest = request.newBuilder()
  50. .addHeader("Accept-Charset", "UTF-8")
  51. .addHeader("Authorization", "Basic " + Base64.encodeToString((username + ":" + password).getBytes("UTF-8"), Base64.NO_WRAP))
  52.  
  53. .build();
  54. log("client " + "Basic " + Base64.encodeToString((username + ":" + password).getBytes("UTF-8"), Base64.NO_WRAP));
  55.  
  56. return chain.proceed(newRequest);
  57. }
  58.  
  59. });
  60.  
  61.  
  62.  
  63.  
  64.  
  65. Retrofit retrofit = new Retrofit.Builder().baseUrl("http://SERVER/ocean_shop/odata/standard.odata/").addConverterFactory(GsonConverterFactory.create()).build();
  66. MessagesApi messagesApi = retrofit.create(MessagesApi.class);
  67.  
  68.  
  69. Call<List<Message>> messages = messagesApi.messages();
  70.  
  71. messages.enqueue(new Callback<List<Message>>() {
  72. @Override
  73. public void onResponse(Call<List<Message>> call, Response<List<Message>> response) {
  74.  
  75. if (response.isSuccessful()) {
  76. log("response " + response.body().size());
  77. } else {
  78.  
  79. log("response headers " + response.headers());
  80. log("response code " + response.code());
  81. }
  82. }
  83.  
  84. @Override
  85. public void onFailure(Call<List<Message>> call, Throwable t) {
  86. log("failure " + t);
  87. }
  88. });
  89.  
  90. }
  91.  
  92. private void log(String s) {
  93. Log.d(LOG_TAG, s);
  94. }
  95.  
  96. }
  97.  
  98. 02-12 11:28:48.558 11080-11080/com.ocean_shop.myapplication D/my_log: response headers Cache-Control: private
  99. Content-Type: text/html; charset=utf-8
  100. Server: Microsoft-IIS/7.5
  101. WWW-Authenticate: Basic realm="1C:Enterprise 8.3"
  102. Date: Mon, 12 Feb 2018 11:28:48 GMT
  103. Content-Length: 6954
  104. 02-12 11:28:48.558 11080-11080/com.ocean_shop.myapplication D/my_log: response code 401
Add Comment
Please, Sign In to add comment