Я пытаюсь прочитать git-файл, указав http-адрес git-репозитория.Мой репозиторий не является общедоступным, поэтому я предоставил данные аутентификации в своем коде и попытался подключиться, но он дает ошибкиМой код, как показано ниже:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringWriter;
import java.io.Writer;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
import com.sun.xml.internal.messaging.saaj.util.Base64;
public class testInAction {
static String username = "user@db.com";
static String password = "12345678";
public static void main(String[] args) throws Throwable {
String link = "https://stash.gto.intranet.db.com:8081/projects/myproject/browse";
URL searchURL = new URL(link);
System.out.println("start");
URLConnection searchHttp = (HttpURLConnection) searchURL.openConnection();
searchHttp.setRequestProperty("X-Requested-With", "Curl");
Map<String, List<String>> searchHeader = searchHttp.getHeaderFields();
String userPass = username + ":" + password;
String basicAuth = "Basic" + new String(new Base64().encode(userPass.getBytes()));
searchHttp.setRequestProperty("Authorization", basicAuth);
InputStream searchStream = searchHttp.getInputStream();
String searchResponse = searchGetStringFromStream(searchStream);
System.out.println(searchResponse);
}
private static String searchGetStringFromStream(InputStream seachStream1) throws IOException {
if (seachStream1 != null) {
Writer searchWriter = new StringWriter();
char[] searchBuffer = new char[2048];
try {
Reader searchReader = new BufferedReader(new InputStreamReader(seachStream1, "UTF-8"));
int counter;
while ((counter = searchReader.read(searchBuffer)) != -1) {
searchWriter.write(searchBuffer, 0, counter);
}
} finally {
seachStream1.close();
}
return searchWriter.toString();
} else {
return "No Contents";
}
}
}
Но я получаю ошибку IllegalStateException при запуске этого кода.Полный стек ошибок приведен ниже: Исключение в потоке «main» java.lang.IllegalStateException: уже подключено по адресу sun.net.www.protocol.http.HttpURLConnection.setRequestProperty (HttpURLConnection.java:3014). Что может быть причинойэта ошибка и как ее устранить?