Xidhmada HTTP ee Jena ee ku salaysan JDK, oo lagu soo bandhigay Jena 4.3, habeey transport-ka loo gudbiyo dhisaha su'aasha. Furaha sirta ah ee barta SPARQL iyo furaha sirta ah ee proxy waxaa laga yaabaa inay dalbaan mishiinno kala duwan.

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();

Qaybtan waxay dhisaysaa fulin su'aal. endpointUrl waa URL-ka dhabta ah ee adeegga SPARQL; proxyAuthenticator waa java.net.Authenticator uu bixiyo barnaamijka. Fulinta su'aasha ku socodsii oo ku xir wareegga nololeedka caadiga ah ee su'aalaha barnaamijka.

Habka getPasswordAuthentication ee xaqiijiyahaas, ku celi PasswordAuthentication-ka proxy oo keliya marka getRequestorType() == RequestorType.PROXY iyo marka host-ka iyo dekedda codsiga ay la jaanqaadaan dhexdhexaadiyaha la habeeyay. Ku celi null caqabadaha aan xiriirka la lahayn. Ku xidhka shaygan macmiilka waxay doorashada ku hayaan gudaha macmiilkaas.

Akhri waxa proxy-ga dalbanayo

Jawaab 407 waxay tilmaamaysaa caqabad xaqiijin proxy. Cinwaankiisa Proxy-Authenticate wuxuu sheegaa qaababka la soo bandhigay; xaaladda keligeed kama soocdo Basic iyo NTLM ama qaab kale.

Isbarbar dhig soo jeedintaas awoodaha iyo siyaasadda xaqiijinta macmiilka JDK ee la rakibay. Bixinta magaca isticmaalaha iyo furaha sirta ah kuma daro qaab aan la taageerin. Destinations HTTPS, sidoo kale baadh siyaasadda jdk.http.auth.tunneling.disabledSchemes ee JDK; proxy HTTP caadi ah wuxuu leeyahay dejinta disabledSchemes gaar ah. Dejinta caadiga ah ee xaqiijinta Basic ee JDK ee CONNECT waa mid ka mid ah hubinta siyaasaddaas.

Tusaalooyinka taariikhiga ah ee Jena ee isticmaalay Apache HttpClient iyo SimpleNTAuthenticator waxay ka tirsan yihiin jiil transport hore. Haddii proxy-ga shirkaddu uu dalbado hab xaqiijin aan laga heli karin transport-ka hadda, la heshiiso isku-xir taageeran maamulaha shabakadda halkii aad isku dayi lahayd in shayyadaas xaqiijinta hore lagu riixo dhisaha casriga ah.

Maqaallo la xiriira