1
Jena ARQ를 PreemptiveBasicAuthenticator와 함께 사용하려고하는데 성공하지 못했습니다. 아무도 도와 줄 수 있습니까?Jena ARQ를 사용하여 기본 인증을 사용하여 원격 저장소에 액세스 - 선점
인스턴트 메신저는 항상 휴식 클라이언트를 통해 또는 openrdf를 사용하여 동일한 요청이 작동하지만 401을 얻습니다. apache http 클라이언트와 관련이 있으며 AuthScope를 설정해야 할 필요가 있습니까?
import com.hp.hpl.jena.query.Query;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.QueryFactory;
import com.hp.hpl.jena.query.ResultSet;
import org.apache.jena.atlas.web.auth.HttpAuthenticator;
import org.apache.jena.atlas.web.auth.PreemptiveBasicAuthenticator;
import org.apache.jena.atlas.web.auth.ScopedAuthenticator;
import java.net.URI;
public class JenaConnect {
private final static String SPARQLR_ENDPOINT = "https://repo-eh-01.sparqlr.com/repositories/examples-repo";
private final static String SPARQLR_USERNAME = "examples-repo";
private final static String SPARQLR_PASSWORD = "XXXX";
public static void main(String[] args) throws Exception {
String queryString = "SELECT * WHERE {?s ?p ?o}";
Query query = QueryFactory.create(queryString);
HttpAuthenticator authenticator = new PreemptiveBasicAuthenticator(
new ScopedAuthenticator(new URI(SPARQLR_ENDPOINT), SPARQLR_USERNAME, SPARQLR_PASSWORD.toCharArray())
);
QueryExecution queryExecution = QueryExecutionFactory.sparqlService(SPARQLR_ENDPOINT, query, authenticator);
try {
ResultSet results = queryExecution.execSelect();
int i = 0;
while(results.hasNext()) {
results.next();
i++;
}
System.out.println(i);
} finally {
queryExecution.close();
}
}
}
당신이 (org.apache.http''을 위해 특별히 이상) 코드에 대한 DEBUG' 수준의 로깅'를 켤 수 인증이 실제로 사용되는지 여부를 식별 할 수있는 로그 – RobV