Получение ошибки в коде Java, преобразованном из Python [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Получение ошибки в коде Java, преобразованном из Python [закрыто]

Сообщение Гость »


Этот URL-адрес содержит код Python, который получает пользователей-администраторов из zscaler. https://help.zscaler.com/cloud-branch-c ... AdminUsers Мне нужно использовать это в Java, преобразовать из Python в Java, но получить 401. Может ли кто-нибудь помочь мне с кодом Java

Преобразовал Python в Java, но это не сработало. Это работает один раз, но после того, как они начинают получать 401.

импортировать java.io.BufferedReader;

импортировать java.io.InputStreamReader;

импортировать java.io.OutputStream;

импортировать java.net.CookieHandler;

импортировать java.net.CookieManager;

импортировать java.net.CookiePolicy;

импортировать java.net.HttpURLConnection;

импортировать java.net.URL;

импортировать java.security.SecureRandom;

импортировать сертификат java.security.cert.X509Certificate;

импортировать java.util.Date;

импортировать javax.net.ssl.HttpsURLConnection;

импортировать javax.net.ssl.SSLContext;

импортировать javax.net.ssl.TrustManager;

импортировать javax.net.ssl.X509TrustManager;

публичный класс ZsApi {

public static String obfuscateApiKey(String apiKey, String timestamp) {

String high = timestamp.substring(timestamp.length() - 6);

String low = Integer.toString(Integer.parseInt(high) >> 1);

String obfuscatedApiKey = "";

while (low.length() < 6) {

низкий = "0" + низкий;



for (int i = 0; i < high.length(); i++) {

obfuscatedApiKey += apiKey.charAt(Integer.parseInt(Character.toString(high.charAt(i))));



for (int j = 0; j < low.length(); j++) {

obfuscatedApiKey += apiKey.charAt(Integer.parseInt(Character.toString(low.charAt(j))) + 2);



return """ + obfuscatedApiKey + """;



public static void main(String[] args) выдает исключение {

длинная временная метка = новая дата().getTime();

String timestampString = Long.toString(timestamp);

String apiKey = "";

System.out.println(apiKey);

String apiKeyObfuscate = obfuscateApiKey(apiKey, timestampString);

final String POST_PARAMS = "{"username":"","password":"","apiKey":" + apiKeyObfuscate + ","timestamp":" + timestamp +"}";

System.out.println(POST_PARAMS);

//Пытался отключить проверку сертификата SSL, но не сработало должным образом.

/*

Контекст SSLContext = SSLContext.getInstance("TLSv1.2");

TrustManager[]trustManager = новый TrustManager[] {

новый X509TrustManager() {

public X509Certificate[] getAcceptedIssuers() {

вернуть новый сертификат X509[0];



public void checkClientTrusted (сертификат X509Certificate[], String str) {

public void checkServerTrusted (сертификат X509Certificate[], String str) {



};

context.init(null,trustManager, new SecureRandom());

HttpsURLConnection.setDefaultSSLSocketFactory(context.getSocketFactory());

*/

//System.setProperty("javax.net.ssl.trustStore", "NULL");

URL obj = новый URL("https://zsapi.domain/api/v1/authenticatedSession");

HttpURLConnection postConnection = (HttpURLConnection) obj.openConnection();

postConnection.setRequestMethod("POST");

postConnection.setRequestProperty("Content-Type", "application/json");

postConnection.setDoOutput(true);

OutputStream os = postConnection.getOutputStream();

os.write(POST_PARAMS.getBytes());

os.flush();

os.close();

int responseCode = postConnection.getResponseCode();

System.out.println("Код ответа POST: " + responseCode);

System.out.println("Ответное сообщение POST: " + postConnection.getResponseMessage());

BufferedReader in = new BufferedReader(new InputStreamReader(postConnection.getInputStream()));

Строка inputLine;

Ответ StringBuffer = новый StringBuffer();

while ((inputLine = in .readLine()) != null) {

response.append(inputLine);



в .close();

System.out.println(response.toString());




Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»