Requête SpringBoot WebClient avec identifiant et mot de passe secret ou haché
P粉825079798
P粉825079798 2024-02-17 20:33:18
0
1
437

J'ai une curl phpdemande comme indiqué ci-dessous

$curlInit = curl_init();
curl_setopt($curlInit, CURLOPT_URL, 'https://www.myurl.com/');
curl_setopt($curlInit, CURLOPT_POST, 1);
curl_setopt($curlInit, CURLOPT_POSTFIELDS,
    http_build_query(
        array(
            'action' => 'GetSearchDetails',
            'username' => 'lambistic',
            'password' => 'lambistic######',
            'responsetype' => 'json',
        )
    )
);
curl_setopt($curlInit, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curlInit);
curl_close($curlInit);

Ce que je veux réaliser, c'est effectuer la même opération dans Springboot Java en utilisant web client et voici comment j'essaie de le faire en utilisant le client Web

public Mono<SearchDetailsResponse> sendSearchDetailsRequest() {

        return webClient.post()
                .uri("https://www.myurl.com/")
                .header("Content-Type", "application/json")
                .headers(httpHeaders -> {
                    httpHeaders.set("username", "lambistic");
                    httpHeaders.set("password", "lambistic######");
                })
                .retrieve()
                .bodyToMono(SearchDetailsResponse.class);
}

Je ne reçois aucune réponse, mon client Web fait probablement quelque chose de mal

P粉825079798
P粉825079798

répondre à tous(1)
P粉510127741

http_build_query ajoute des paramètres sous forme de chaîne de requête. Dans votre client Web, vous les ajoutez comme en-têtes. Je pense que tu dois changer ça :

webClient
.post()
.uri("https://www.myurl.com?action=GetSearchDetails&username=lambistic&password=lambistic#####&responsetype=json")
.retrieve()
.bodyToMono(SearchDetailsResponse.class);
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal