POST в Java с использованием токена CSRF, полученного из запроса GET - 403 - запрещено - Ошибка проверки токена CSRF - PullRequest
0 голосов
/ 05 февраля 2019

Проверка токена CSRF завершилась неудачно - ошибка 403 - Запрещено Я не связываюсь, чтобы найти причину сбоя.

-Предоставить правильное значение токена CSRF -Также при условии, что куки

    static OkHttpClient client = new OkHttpClient();

    public void run() throws IOException {
    String[] headCookie = MyGETRequest();
    POSTRequest(headCookie);        
}

public static String[] MyGETRequest() throws IOException {
    Request request = new Request.Builder()
      .url("GET URL")
      .get()
      .addHeader("x-csrf-token", "FETCH")
      .addHeader("authorization", "BASICAuthentication string")
      .build();

    Response response = client.newCall(request).execute();
    String ar[] = new String[2];
    ar[0] = response.headers().get("set-cookie");
    ar[1] = response.headers().get("x-csrf-token");
    response.close();
    return ar;
}

public void POSTRequest(String[] headerCookie) throws IOException {
    MediaType mediaType = MediaType.parse("application/json");
    RequestBody body = RequestBody.create(mediaType,"POST BODY");
    Request request = new Request.Builder()
      .url("POST URL")
      .post(body)
      .addHeader("set-cookie", headerCookie[0])
      .addHeader("x-csrf-token", headerCookie[1])
      .addHeader("authorization", "BASICAuthentication string - same as GET")
      .addHeader("accept", "application/json")
      .addHeader("content-type", "application/json")
      .build();

    Response response = client.newCall(request).execute();
    response.close();   
}

POST должен быть успешным.Я искал различные форумы, и все делали POST аналогичным образом

...