Jena 4.3 ରେ ଆରମ୍ଭ ହୋଇଥିବା Jena ର JDK-ଆଧାରିତ HTTP ଷ୍ଟାକ ପାଇଁ, କ୍ୱେରୀ ନିର୍ମାତାକୁ ଦିଆଯାଉଥିବା transport କୁ ବିନ୍ୟାସ କରନ୍ତୁ। SPARQL ଶେଷ ବିନ୍ଦୁର ପାସୱାର୍ଡ ଓ ପ୍ରକ୍ସିର ପାସୱାର୍ଡ ଅଲଗା ଅଲଗା ମେସିନ ମାଗିପାରେ।

import java.net.InetSocketAddress;
import java.net.ProxySelector;
import java.net.http.HttpClient;
import org.apache.jena.sparql.exec.http.QueryExecutionHTTP;

var http = HttpClient.newBuilder()
    .proxy(ProxySelector.of(
        new InetSocketAddress("proxy.example", 8080)))
    .authenticator(proxyAuthenticator)
    .build();

var execution = QueryExecutionHTTP.service(endpointUrl)
    .httpClient(http)
    .query("ASK { ?s ?p ?o }")
    .build();

ଏହି ଅଂଶ ଏକ କ୍ୱେରୀ ନିଷ୍ପାଦନ ନିର୍ମାଣ କରେ। endpointUrl ହେଉଛି ପ୍ରକୃତ SPARQL ସେବାର URL; proxyAuthenticator ହେଉଛି ଆପ୍ଲିକେସନ ଦ୍ୱାରା ପ୍ରଦାନ କରାଯାଉଥିବା java.net.Authenticator। ଆପ୍ଲିକେସନର ସାଧାରଣ କ୍ୱେରୀ ଜୀବନଚକ୍ର ମାଧ୍ୟମରେ କ୍ୱେରୀ ନିଷ୍ପାଦନ ଚଲାନ୍ତୁ ଓ ବନ୍ଦ କରନ୍ତୁ।

ସେହି ପ୍ରମାଣକର getPasswordAuthentication ପଦ୍ଧତିରେ, ପ୍ରକ୍ସିର PasswordAuthentication କେବଳ ସେତେବେଳେ ଫେରାନ୍ତୁ ଯେତେବେଳେ getRequestorType() == RequestorType.PROXY ହୁଏ ଓ ଯେତେବେଳେ ଅନୁରୋଧ କରୁଥିବା ହୋଷ୍ଟ ଓ ପୋର୍ଟ ବିନ୍ୟାସିତ ମଧ୍ୟସ୍ଥ ସହିତ ମେଳ ଖାଏ। ଅସମ୍ପର୍କିତ ଚ୍ୟାଲେଞ୍ଜ ପାଇଁ null ଫେରାନ୍ତୁ। ଏହି ବସ୍ତୁକୁ କ୍ଲାଏଣ୍ଟ ସହିତ ଯୋଡ଼ିଲେ ଚୟନ ସେହି କ୍ଲାଏଣ୍ଟ ମଧ୍ୟରେ ସ୍ଥାନୀୟ ରହେ।

ପ୍ରକ୍ସି କଣ ମାଗୁଛି ତାହା ପଢ଼ନ୍ତୁ

407 ପ୍ରତିକ୍ରିୟା ଏକ ପ୍ରକ୍ସି ପ୍ରମାଣୀକରଣ ଚ୍ୟାଲେଞ୍ଜ ସୂଚାଏ। ଏହାର Proxy-Authenticate ହେଡର ପ୍ରଦାନ କରାଯାଉଥିବା ସ୍କିମଗୁଡ଼ିକ ଜଣାଏ; କେବଳ ସ୍ଥିତି Basic କୁ NTLM କିମ୍ବା ଅନ୍ୟ ସ୍କିମରୁ ଅଲଗା କରିନଥାଏ।

ସେହି ପ୍ରସ୍ତାବକୁ ନିୟୋଜିତ JDK କ୍ଲାଏଣ୍ଟର କ୍ଷମତା ଓ ପ୍ରମାଣୀକରଣ ନୀତି ସହିତ ତୁଳନା କରନ୍ତୁ। ବ୍ୟବହାରକାରୀ ନାମ ଓ ପାସୱାର୍ଡ ଦେବା ଅସମର୍ଥିତ ସ୍କିମ ଯୋଡ଼େ ନାହିଁ। HTTPS ଲକ୍ଷ୍ୟ ପାଇଁ JDK ର jdk.http.auth.tunneling.disabledSchemes ନୀତି ମଧ୍ୟ ଯାଞ୍ଚ କରନ୍ତୁ; ସାଧାରଣ HTTP ପ୍ରକ୍ସିର ଅଲଗା disabledSchemes ସେଟିଂ ଥାଏ। CONNECT ପାଇଁ JDK ର Basic ପ୍ରମାଣୀକରଣର ପୂର୍ବନିର୍ଦ୍ଧାରିତ ମୂଲ୍ୟ ଏପରି ଏକ ନୀତି ଯାଞ୍ଚ।

Apache HttpClient ଓ SimpleNTAuthenticator ବ୍ୟବହାର କରୁଥିବା ଐତିହାସିକ Jena ଉଦାହରଣ ପୁରୁଣା transport ପିଢ଼ିର। ଯଦି କର୍ପୋରେଟ ପ୍ରକ୍ସି ବର୍ତ୍ତମାନ transport ରେ ଉପଲବ୍ଧ ନଥିବା ପ୍ରମାଣୀକରଣ ପଦ୍ଧତି ଦାବି କରେ, ତେବେ ସେହି ପୁରୁଣା ପ୍ରମାଣୀକରଣ ବସ୍ତୁଗୁଡ଼ିକୁ ଆଧୁନିକ ନିର୍ମାତାରେ ଠେଲିଦେବାକୁ ଚେଷ୍ଟା ନକରି ନେଟୱାର୍କ ପ୍ରଶାସକ ସହିତ ସମର୍ଥିତ ଏକୀକରଣର ବ୍ୟବସ୍ଥା କରନ୍ତୁ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ