문서 목록에 대한 URL이 있으며 사용자가 해당 문서에 액세스 할 수 있는지 확인하고 싶습니다. 이러한 문서는 액세스 할 때 사용자 로그인과 암호가 필요합니다. 서버가 NTLM 인증을 요구하기 때문에 JCIFS API를 사용하여 문서에 대한 URL 연결을 만들고 HTTP 응답 코드를 확인합니다. 응답 코드가 401이면 사용자가 액세스 권한이 없음을 확인하는 중입니다. 이 방법을 사용하면 문서가 모든 콘텐츠를 다운로드합니까? 응답 시간은 문서의 크기에 따라 다릅니 까? 더 나은 접근 방법이 있습니까? 미리 감사드립니다. 귀하의 답변사용자가 URLConnection을 사용하여 문서에 액세스 할 수 있는지 확인하십시오.
Config.setProperty("jcifs.smb.client.username", "<user_name>");
Config.setProperty("jcifs.smb.client.password", "<password>");
URL spURL = new URL("http://<host_name>/<folder_name>/<file_name>";
HttpURLConnection httpURLConnection = (HttpURLConnection) spURL
.openConnection();
NtlmHttpURLConnection ntlmHttpURLConnection = new NtlmHttpURLConnection(
httpURLConnection);
int resCode = ntlmHttpURLConnection.getResponseCode()
감사합니다. 문서를 다운로드 할 요구가 없지만 사용자가 문서에 대한 액세스 권한이 있는지 여부 만 확인하면됩니다. 나는 응답 측면에서 더 빠르며 문서의 크기에 따라 변하지 않는 해결책을 찾고있다.
안녕하세요, 요청 유형을 HEAD (으)로 설정해 주셔서 감사합니다. 2, 3, 4, 5로 시작하는 HTTP 응답 코드가 많이 있습니다. 어떻게 인터 레이스 할 수 있는지 설명해 주시겠습니까? 나는 다음 intepretation을 추측하고있다; 내가 틀렸다면 나를 바로 잡아주세요.
- 2로 시작하는 응답 코드는 사용자가 문서에 액세스 할 수 있음을 의미합니다.
- 3으로 시작하는 응답 코드는 실제 URL에 다른 요청을하기 위해 추가 논리를 추가해야합니까 ?? 이것이 어떻게 자동으로 수행 될 수있는 코드가 있습니까?
- 401이 포함 된 응답 코드는 사용자가 액세스 권한이 없음을 나타냅니다.
- 5로 시작하는 모든 응답 코드는 호스트 서버에 문제가 있음을 나타냅니다.