Fún ìpele HTTP Jena tí ó dá lórí JDK, tí a ṣe àfihàn rẹ̀ ní Jena 4.3, ṣètò transport tí a ń fún olùkọ́ ìbéèrè. Ọ̀rọ̀ ìkọ̀kọ̀ ibi ìparí SPARQL àti ọ̀rọ̀ ìkọ̀kọ̀ àkópamọ́ lè jẹ́ ìbéèrè láti ẹ̀rọ ọ̀tọ̀ọ̀tọ̀.

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

Ẹ̀ka yìí ń kọ́ ìṣe ìbéèrè kan. endpointUrl ni URL gidi ti iṣẹ́ SPARQL; proxyAuthenticator ni java.net.Authenticator tí ohun èlò náà ń pèsè. Ṣe ìṣe ìbéèrè náà kí o sì pa á dé nípasẹ̀ ìyí-ayé ìbéèrè déédéé ti ohun èlò náà.

Nínú ọ̀nà getPasswordAuthentication ti olùjẹ́rìí yẹn, dá PasswordAuthentication ti àkópamọ́ padà nìkan nígbà tí getRequestorType() == RequestorType.PROXY àti nígbà tí olùgbàlejò àti ibùdó tí ń béèrè bá mu pẹ̀lú alárinà tí a ti ṣètò. Dá null padà fún àwọn ìpeníjá tí kò ní í ṣe. Sísopọ̀ ohun yìí mọ́ oníbàárà náà ń jẹ́ kí yíyàn dúró níbílẹ̀ fún oníbàárà yẹn.

Ka ohun tí àkópamọ́ ń béèrè

Ìdáhùn 407 ń tọ́ka sí ìpeníjá ìjẹ́rìí àkópamọ́. Àkọlé Proxy-Authenticate rẹ̀ sọ àwọn ọ̀nà tí a gbà pé wọ́n wà; ipò nìkan kò yà Basic sọ́tọ̀ kúrò nínú NTLM tàbí ọ̀nà míràn.

Fi ìfilọ́lẹ̀ yẹn wé àwọn agbára àti ìlànà ìjẹ́rìí ti oníbàárà JDK tí a ti fi sórí iṣẹ́. Pípèsè orúkọ olùlò àti ọ̀rọ̀ ìkọ̀kọ̀ kò fi ọ̀nà tí a kò ṣe àtìlẹ́yìn fún kún. Fún àwọn ibi àfojúsùn HTTPS, yẹ ìlànà jdk.http.auth.tunneling.disabledSchemes ti JDK wò pẹ̀lú; àkópamọ́ HTTP déédéé ní ètò disabledSchemes ọ̀tọ̀ọ̀tọ̀. Àwọn iye àìpẹ́ ti ìjẹ́rìí Basic ti JDK fún CONNECT jẹ́ ọ̀kan nínú àwọn àyẹ̀wò ìlànà bẹ́ẹ̀.

Àwọn àpẹẹrẹ Jena ìtàn tí ó lo Apache HttpClient àti SimpleNTAuthenticator jẹ́ ti ìran transport tí ó ti pẹ́. Tí àkópamọ́ ilé-iṣẹ́ bá béèrè ọ̀nà ìjẹ́rìí tí kò sí nínú transport ìsinsìnyí, ṣètò àjọṣepọ̀ tí a ṣe àtìlẹ́yìn pẹ̀lú alábòójútó nẹ́tíwọ́kì dípò gbìyànjú láti ti àwọn ohun ìjẹ́rìí àtijọ́ yẹn mọ́ olùkọ́ òde òní.

Àwọn àpilẹ̀kọ tó jọra