Ukuqinisekisa nge-proxy kumaklayenti e-SPARQL e-Jena 4.3+
Hlanganisa umkhethi nesiqinisekisi se-proxy ku-JDK HTTP iklayenti esetshenziswa ukusebenza kwemibuzo ye-Jena yesimanje.
Kusigaba se-HTTP se-Jena esisekelwe ku-JDK, esethulwe ku-Jena 4.3, lungiselela i-transport enikezwa umakhi wemibuzo. Iphasiwedi yendawo yokugcina ye-SPARQL nephasiwedi ye-proxy kungabuzwa yimishini ehlukene.
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();Le ngxenye yakha ukusebenza kombuzo. I-endpointUrl iyi-URL yangempela yensizakalo ye-SPARQL; i-proxyAuthenticator iyi-java.net.Authenticator enikezwa uhlelo lokusebenza. Qalisa futhi vala ukusebenza kombuzo ngomjikelezo wempilo yemibuzo ojwayelekile wohlelo.
Endleleni ethi getPasswordAuthentication yaleso siqinisekisi, buyisela i-PasswordAuthentication ye-proxy kuphela lapho getRequestorType() == RequestorType.PROXY futhi lapho isisindo nembobo yocingo ecela khona kuhambisana nomxhumanisi olungisiwe. Buyisela i-null ezinseleleni ezingahlobene. Ukunamathisela le nto kuklayenti kugcina ukukhetha kuyilokho kuklayenti.
Funda lokho okucelwa yi-proxy
Impendulo engu-407 ikhombisa inselele yokuqinisekisa nge-proxy. Isihloko sayo esithi Proxy-Authenticate siveza izinhlelo ezinikezwayo; isimo sisodwa asihlukanisi i-Basic ku-NTLM noma kolunye uhlelo.
Qhathanisa lokho okunikezwayo namakhono kanye nenqubomgomo yokuqinisekisa yeklayenti le-JDK elifakiwe. Ukunikeza igama lomsebenzisi nephasiwedi akungezi uhlelo olungasekelwe. Ezinhlosweni ze-HTTPS, hlola futhi inqubomgomo ye-JDK ethi jdk.http.auth.tunneling.disabledSchemes; i-proxy ejwayelekile ye-HTTP inesilungiselelo esihlukile esithi disabledSchemes. Izinto eziyisisekelo ze-JDK zokuqinisekisa i-Basic ku-CONNECT kungenye yalezi zivivinyo zenqubomgomo.
Izibonelo zomlando ze-Jena ezisebenzisa i-Apache HttpClient ne-SimpleNTAuthenticator zingezesizukulwane se-transport esidala. Uma i-proxy yenkampani ifuna indlela yokuqinisekisa engatholakali ku-transport yamanje, hlela ukuhlanganiswa okusekelwe nomqondisi wenethiwekhi esikhundleni sokuzama ukufaka lezo zinto zokuqinisekisa ezindala kumakhi wesimanje.