Għall-munzell HTTP ta' Jena mibni fuq il-JDK, imdaħħal f'Jena 4.3, ikkonfigura t-transport li jingħata lill-builder tal-mistoqsija. Password tal-punt tat-tmiem SPARQL u password tal-proxy jistgħu jintalbu minn magni differenti.

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

Dan il-framment jibni eżekuzzjoni ta' mistoqsija. endpointUrl huwa l-URL reali tas-servizz SPARQL; proxyAuthenticator huwa java.net.Authenticator li jipprovdi l-applikazzjoni. Esegwi u agħlaq l-eżekuzzjoni tal-mistoqsija permezz taċ-ċiklu tal-ħajja normali tal-mistoqsijiet tal-applikazzjoni.

Fil-metodu getPasswordAuthentication ta' dak l-awtentikatur, irritorna l-PasswordAuthentication tal-proxy biss meta getRequestorType() == RequestorType.PROXY u meta l-host u l-port li jitolbu jaqblu mal-intermedjarju kkonfigurat. Irritorna null għal sfidi mhux relatati. Meta dan l-oġġett jiġi marbut mal-klijent, l-għażla tibqa' lokali għal dak il-klijent.

Aqra x'inhu jitlob il-proxy

Tweġiba 407 tindika sfida ta' awtentikazzjoni tal-proxy. Il-header Proxy-Authenticate tiegħu jgħid liema skemi huma offruti; l-istat waħdu ma jiddistingwix Basic minn NTLM jew skema oħra.

Qabbel dak l-offerta mal-kapaċitajiet u l-politika tal-awtentikazzjoni tal-klijent JDK installat. L-għoti ta' isem tal-utent u password ma jżidx skema mhux appoġġjata. Għal destinazzjonijiet HTTPS, eżamina wkoll il-politika jdk.http.auth.tunneling.disabledSchemes tal-JDK; il-proxy HTTP ordinarju għandu setting disabledSchemes separat. Il-valuri default tal-JDK għall-awtentikazzjoni Basic fuq CONNECT huma wieħed minn dawn il-verifiki tal-politika.

L-eżempji storiċi ta' Jena bl-Apache HttpClient u SimpleNTAuthenticator jappartjenu għal ġenerazzjoni ta' transport eqdem. Jekk il-proxy korporattiv jitlob mekkaniżmu ta' awtentikazzjoni mhux disponibbli fit-transport attwali, ftehem integrazzjoni appoġġjata mal-amministratur tan-netwerk minflok ma tipprova ddaħħal dawk l-oġġetti tal-awtentikazzjoni qodma fil-builder modern.

Artikli relatati