Don tushen HTTP na Jena da ya dogara da JDK, wanda aka gabatar a Jena 4.3, saita transport ɗin da ake ba mai gina bincike. Kalmar sirri ta ƙarshen SPARQL da kalmar sirri ta proxy na iya samun buƙata daga na'urori daban-daban.

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

Wannan ɓangaren yana gina aikin bincike. endpointUrl ita ce ainihin URL na sabis ɗin SPARQL; proxyAuthenticator wani java.net.Authenticator ne da aikace-aikacen ke bayarwa. Gudanar da aikin binciken sannan ka rufe shi ta hanyar tsarin rayuwar bincike na yau da kullum na aikace-aikacen.

A cikin hanyar getPasswordAuthentication ta wannan mai tabbatarwa, mayar da PasswordAuthentication na proxy ne kawai idan getRequestorType() == RequestorType.PROXY kuma idan mai gida da tashar da ke buƙata sun yi daidai da matsakaicin da aka saita. Mayar da null don ƙalubalen da ba su da alaƙa. Haɗa wannan abu zuwa abokin ciniki yana riƙe zaɓin a cikin wannan abokin cinikin.

Karanta abin da proxy ke buƙata

Amsa ta 407 tana nuna ƙalubalen tabbatarwa ta proxy. Kanun Proxy-Authenticate yana gaya maka tsare-tsaren da aka bayar; matsayin shi kaɗai ba ya bambanta Basic daga NTLM ko wani tsari.

Kwatanta wannan tayin da iyawar abokin cinikin JDK da aka girka da manufofin tabbatarwa. Bayar da sunan mai amfani da kalmar sirri ba ya ƙara tsarin da ba a tallafa masa. Don maƙasudin HTTPS, duba kuma manufar jdk.http.auth.tunneling.disabledSchemes ta JDK; proxy na HTTP na yau da kullum yana da saitin disabledSchemes daban. Tsoffin ƙa'idodin tabbatar da Basic na JDK don CONNECT ɗaya ne daga irin waɗannan binciken manufofin.

Misalan Jena na tarihi da suka yi amfani da Apache HttpClient da SimpleNTAuthenticator na cikin ƙarni na transport na da. Idan proxy na kamfani yana buƙatar hanyar tabbatarwa da ba ta samuwa a transport na yanzu, shirya haɗin kai mai tallafi tare da mai kula da cibiyar sadarwa maimakon ƙoƙarin cusa waɗannan tsofaffin abubuwan tabbatarwa cikin mai ginawa na zamani.

Labarai masu alaƙa