Serenity BDD - HTTP Builder πελάτη - διακομιστή μεσολάβησης Έκδοση - Πώς να NTLM ρύθμιση auth;

ψήφοι
0

Γεια Im που προσπαθεί να τρέξει δοκιμές API από το χώρο εργασίας μου με Serenity BDD και να είστε σίγουροι, αλλά οι μεσολάβησης ή κάτι τέτοιο μπλοκ μου και μου δίνει θέμα χρονικό όριο σύνδεσης

Serenity BDD - Restassured Κωδικός:

SerenityRest.rest().given().proxy(proxy_host, proxyPort).auth().basic(xxusernmexx, xxpassword)
        .spec(com.api.utils.ReuseableSpecifications.getGenericRequestSpec())
        .get(bin/userInfo).
        then().
        log().all();

Ο παραπάνω κώδικας λειτουργεί σε τοπικό laptop μου συνδέεται με Wi-Fi δουλειά μου. αλλά δεν λειτουργεί στη δουλειά μου VM (Citrix)

Αλλά όταν χρησιμοποιούν Java και μόνο τη δημιουργία ενός οικοδόμου περιεχόμενο πελάτη και το χτύπημα των αιτήσεων με αυτό τότε λειτουργεί. Κώδικα Java:

public class api{

    private HttpClient client; 
    Date expires = null ; 
    String cooki_1 = ; 
    HashMap<String, String> data_Header_1 = new  HashMap<String, String>();
    HttpCoreContext localContext ;
    BasicCookieStore cookieStore; 
    HttpClientContext httpClientContext;    
    String proxy_host = xxxxxx.xxxxx.intra; 
    int proxyPort = 8080;


    public api()
    {
        cookieStore  = new BasicCookieStore();
        localContext= new HttpCoreContext();
        httpClientContext = HttpClientContext.create();
        Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
                .register(AuthSchemes.NTLM,  new NTLMSchemeFactory())
                .register(AuthSchemes.BASIC, new BasicSchemeFactory())
                .register(AuthSchemes.DIGEST, new DigestSchemeFactory())
                .register(AuthSchemes.SPNEGO, new SPNegoSchemeFactory())
                .register(AuthSchemes.KERBEROS, new KerberosSchemeFactory())
                .build(); 
        httpClientContext.setCookieStore(cookieStore);


        NTCredentials credentials = new NTCredentials(xxusernamexx,xxpasswordxx,null,xxdomainxx );
        CredentialsProvider credProvider = new BasicCredentialsProvider();
        credProvider.setCredentials(new AuthScope(proxy_host, proxyPort), credentials );

        this.client = HttpClientBuilder.create().setProxy(new HttpHost(proxy_host, proxyPort)).setDefaultAuthSchemeRegistry(authSchemeRegistry)
                .setDefaultCredentialsProvider(credProvider).setProxyAuthenticationStrategy(new ProxyAuthenticationStrategy())
                .setRedirectStrategy(new LaxRedirectStrategy()).setDefaultRequestConfig(RequestConfig.custom()
            .setCookieSpec(CookieSpecs.STANDARD).build()).setDefaultCookieStore(cookieStore).build();
        //System.setProperty(java.net.useSystemProxies, true);

        }

    public RestResponse postRequest(String url)
    {
......
}

Αυτό λειτουργεί .Στην χώρο εργασίας μου (Virtual Machines)

Μπορεί κάποιος παρακαλώ επιτρέψτε μου να ξέρω πώς να εφαρμόσουν τον παραπάνω κώδικα Java σε ηρεμία BDD και να είστε σίγουροι κατηγορίες

Δημοσιεύθηκε 24/10/2019 στις 12:53
πηγή χρήστη
Σε άλλες γλώσσες...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more