OpenFeign Spring call destination service 403 Forbidden but postman call success

46 Views Asked by At

I am using spring boot version 3.1.9. I use openfeign to call to destination service but receive response is feign.FeignException$Forbidden: [403 Forbidden] during [GET]. While I use postman call with same header and URL it success and return response data.

curl postman:

curl --location 'https://iboard-api.ssi.com.vn/statistics/company/stock-price?symbol=VCS' \
--header 'origin: https://iboard.ssi.com.vn'

SsiIBoardApi class

@FeignClient(value = "ssiIBoardApi", url = "https://iboard-api.ssi.com.vn", configuration = {SsiInterceptor2.class})
public interface SsiIBoardApi {

    @GetMapping(value = "/statistics/company/stock-price?symbol=SSI&page=1&pageSize=10&fromDate=11%2F03%2F2024&toDate=11%2F03%2F2024")
    StockPriceDto getStockPrice();
}

SsiInterceptor2 class

@Configuration
public class SsiInterceptor2 implements RequestInterceptor {
    @Override
    public void apply(RequestTemplate template) {
        template.header("origin", "https://iboard.ssi.com.vn");
    }
}

This is logs of openfeign when call

2024-03-23T01:16:13.224+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] ---> GET https://iboard-api.ssi.com.vn/statistics/company/stock-price?symbol=SSI&page=1&pageSize=10&fromDate=11%2F03%2F2024&toDate=11%2F03%2F2024 HTTP/1.1
2024-03-23T01:16:13.225+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] Accept: application/json;charset=utf-8
2024-03-23T01:16:13.225+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] Host:  iboard-api.ssi.com.vn
2024-03-23T01:16:13.225+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] origin: https://iboard.ssi.com.vn
2024-03-23T01:16:13.225+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] Sec-Fetch-Dest: document
2024-03-23T01:16:13.225+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] Sec-Fetch-Mode: navigate
2024-03-23T01:16:13.225+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] Sec-Fetch-Site: none
2024-03-23T01:16:13.225+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15
2024-03-23T01:16:13.225+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] ---> END HTTP (0-byte body)
2024-03-23T01:16:13.380+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] <--- HTTP/1.1 403 Forbidden (155ms)
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] accept-ch: Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] alt-svc: h3=":443"; ma=86400
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] cache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] cf-chl-out: F1hChrMVwmXtf2YKVKGpKc6PLmsvVTNmFuzsoPSkAnEX4f61aM1ryYgF9OfxVD+DD6yFkrctwExGuVMEmjjgJljm81DSImnA+oL7h8uJ4K/4lOvbMfL9uTTSpQ5+iYcZYl+8hV9aiPS/EAQ2n0h2rA==$DbWSiJdkyYEJTuvoYEuM5w==
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] cf-mitigated: challenge
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] cf-ray: 86882becfee61071-HKG
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] connection: close
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] content-length: 16887
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] content-type: text/html; charset=UTF-8
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] cross-origin-embedder-policy: require-corp
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] cross-origin-opener-policy: same-origin
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] cross-origin-resource-policy: same-origin
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] date: Fri, 22 Mar 2024 18:16:13 GMT
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] expect-ct: max-age=86400, enforce
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] expires: Thu, 01 Jan 1970 00:00:01 GMT
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] origin-agent-cluster: ?1
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] permissions-policy: accelerometer=(),autoplay=(),browsing-topics=(),camera=(),clipboard-read=(),clipboard-write=(),geolocation=(),gyroscope=(),hid=(),interest-cohort=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=()
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] referrer-policy: same-origin
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=n6066TyJR%2BbMWGSeTJKMrtgyNEyPh8jLbO3y5rvF92oazFPTkm4EGo8hAQRpGverYjBylejC7DyAXLodpl%2Fw3Z8BSfzbg9D%2BxvMNfgZqjlfH9lznes%2BkLFKXHbZQEibYzKjoY9iz3A%3D%3D"}],"group":"cf-nel","max_age":604800}
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] server: cloudflare
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] set-cookie: __cf_bm=QIc.d18zJZ04B1lagM4VYnn3.KIVqwNSuvBG27BUVCQ-1711131373-1.0.1.1-dHwPvRr9.kPrLkGk.YPEeT6NHDKUzyfOVDUBhvGIfoJxQmwdNg00aAqf80eY9IYAZcKjIyuVI9qEiyY4B7kwsA; path=/; expires=Fri, 22-Mar-24 18:46:13 GMT; domain=.ssi.com.vn; HttpOnly; Secure; SameSite=None
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] x-content-type-options: nosniff
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] x-frame-options: SAMEORIGIN
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] x-xss-protection: 1; mode=block
2024-03-23T01:16:13.381+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] 
2024-03-23T01:16:13.383+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] <!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta name="robots" content="noindex,nofollow"><meta name="viewport" content="width=device-width,initial-scale=1"><style>*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;color:#313131}button,html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}@media (prefers-color-scheme:dark){body{background-color:#222;color:#d9d9d9}body a{color:#fff}body a:hover{color:#ee730a;text-decoration:underline}body .lds-ring div{border-color:#999 transparent transparent}body .font-red{color:#b20f03}body .big-button,body .pow-button{background-color:#4693ff;color:#1d1d1d}body #challenge-success-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI2IDI2Ij48cGF0aCBmaWxsPSIjZDlkOWQ5IiBkPSJNMTMgMGExMyAxMyAwIDEgMCAwIDI2IDEzIDEzIDAgMCAwIDAtMjZtMCAyNGExMSAxMSAwIDEgMSAwLTIyIDExIDExIDAgMCAxIDAgMjIiLz48cGF0aCBmaWxsPSIjZDlkOWQ5IiBkPSJtMTAuOTU1IDE2LjA1NS0zLjk1LTQuMTI1LTEuNDQ1IDEuMzg1IDUuMzcgNS42MSA5LjQ5NS05LjYtMS40Mi0xLjQwNXoiLz48L3N2Zz4=)}body #challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+)}}body{display:flex;flex-direction:column;min-height:100vh}body.no-js .loading-spinner{visibility:hidden}body.no-js .challenge-running{display:none}body.dark{background-color:#222;color:#d9d9d9}body.dark a{color:#fff}body.dark a:hover{color:#ee730a;text-decoration:underline}body.dark .lds-ring div{border-color:#999 transparent transparent}body.dark .font-red{color:#b20f03}body.dark .big-button,body.dark .pow-button{background-color:#4693ff;color:#1d1d1d}body.dark #challenge-success-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI2IDI2Ij48cGF0aCBmaWxsPSIjZDlkOWQ5IiBkPSJNMTMgMGExMyAxMyAwIDEgMCAwIDI2IDEzIDEzIDAgMCAwIDAtMjZtMCAyNGExMSAxMSAwIDEgMSAwLTIyIDExIDExIDAgMCAxIDAgMjIiLz48cGF0aCBmaWxsPSIjZDlkOWQ5IiBkPSJtMTAuOTU1IDE2LjA1NS0zLjk1LTQuMTI1LTEuNDQ1IDEuMzg1IDUuMzcgNS42MSA5LjQ5NS05LjYtMS40Mi0xLjQwNXoiLz48L3N2Zz4=)}body.dark #challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+)}body.light{background-color:transparent;color:#313131}body.light a{color:#0051c3}body.light a:hover{color:#ee730a;text-decoration:underline}body.light .lds-ring div{border-color:#595959 transparent transparent}body.light .font-red{color:#fc574a}body.light .big-button,body.light .pow-button{background-color:#003681;border-color:#003681;color:#fff}body.light #challenge-success-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI2IDI2Ij48cGF0aCBmaWxsPSIjMzEzMTMxIiBkPSJNMTMgMGExMyAxMyAwIDEgMCAwIDI2IDEzIDEzIDAgMCAwIDAtMjZtMCAyNGExMSAxMSAwIDEgMSAwLTIyIDExIDExIDAgMCAxIDAgMjIiLz48cGF0aCBmaWxsPSIjMzEzMTMxIiBkPSJtMTAuOTU1IDE2LjA1NS0zLjk1LTQuMTI1LTEuNDQ1IDEuMzg1IDUuMzcgNS42MSA5LjQ5NS05LjYtMS40Mi0xLjQwNXoiLz48L3N2Zz4=)}body.light #challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZjNTc0YSIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjZmM1NzRhIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+)}a{background-color:transparent;color:#0051c3;text-decoration:none;transition:color .15s ease}a:hover{color:#ee730a;text-decoration:underline}.main-content{margin:8rem auto;max-width:60rem;width:100%}.heading-favicon{height:2rem;margin-right:.5rem;width:2rem}@media (width <= 720px){.main-content{margin-top:4rem}.heading-favicon{height:1.5rem;width:1.5rem}}.footer,.main-content{padding-left:1.5rem;padding-right:1.5rem}.main-wrapper{align-items:center;display:flex;flex:1;flex-direction:column}.font-red{color:#b20f03}.spacer{margin:2rem 0}.h1{font-size:2.5rem;font-weight:500;line-height:3.75rem}.h2{font-weight:500}.core-msg,.h2{font-size:1.5rem;line-height:2.25rem}.body-text,.core-msg{font-weight:400}.body-text{font-size:1rem;line-height:1.25rem}@media (width <= 720px){.h1{font-size:1.5rem;line-height:1.75rem}.h2{font-size:1.25rem}.core-msg,.h2{line-height:1.5rem}.core-msg{font-size:1rem}}#challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZjNTc0YSIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjZmM1NzRhIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+);padding-left:34px}#challenge-error-text,#challenge-success-text{background-repeat:no-repeat;background-size:contain}#challenge-success-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI2IDI2Ij48cGF0aCBmaWxsPSIjMzEzMTMxIiBkPSJNMTMgMGExMyAxMyAwIDEgMCAwIDI2IDEzIDEzIDAgMCAwIDAtMjZtMCAyNGExMSAxMSAwIDEgMSAwLTIyIDExIDExIDAgMCAxIDAgMjIiLz48cGF0aCBmaWxsPSIjMzEzMTMxIiBkPSJtMTAuOTU1IDE2LjA1NS0zLjk1LTQuMTI1LTEuNDQ1IDEuMzg1IDUuMzcgNS42MSA5LjQ5NS05LjYtMS40Mi0xLjQwNXoiLz48L3N2Zz4=);padding-left:42px}.text-center{text-align:center}.big-button{border:.063rem solid #0051c3;border-radius:.313rem;font-size:.875rem;line-height:1.313rem;padding:.375rem 1rem;transition-duration:.2s;transition-property:background-color,border-color,color;transition-timing-function:ease}.big-button:hover{cursor:pointer}.captcha-prompt:not(.hidden){display:flex}@media (width <= 720px){.captcha-prompt:not(.hidden){flex-wrap:wrap;justify-content:center}}.pow-button{background-color:#0051c3;color:#fff;margin:2rem 0}.pow-button:hover{background-color:#003681;border-color:#003681;color:#fff}.footer{font-size:.75rem;line-height:1.125rem;margin:0 auto;max-width:60rem;width:100%}.footer-inner{border-top:1px solid #d9d9d9;padding-bottom:1rem;padding-top:1rem}.clearfix:after{clear:both;content:"";display:table}.clearfix .column{float:left;padding-right:1.5rem;width:50%}.diagnostic-wrapper{margin-bottom:.5rem}.footer .ray-id{text-align:center}.footer .ray-id code{font-family:monaco,courier,monospace}.core-msg,.zone-name-title{overflow-wrap:break-word}@media (width <= 720px){.diagnostic-wrapper{display:flex;flex-wrap:wrap;justify-content:center}.clearfix:after{clear:none;content:none;display:initial;text-align:center}.column{padding-bottom:2rem}.clearfix .column{float:none;padding:0;width:auto;word-break:keep-all}.zone-name-title{margin-bottom:1rem}}.loading-spinner{height:76.391px}.lds-ring{display:inline-block;position:relative}.lds-ring,.lds-ring div{height:1.875rem;width:1.875rem}.lds-ring div{animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border:.3rem solid transparent;border-radius:50%;border-top-color:#313131;box-sizing:border-box;display:block;position:absolute}.lds-ring div:first-child{animation-delay:-.45s}.lds-ring div:nth-child(2){animation-delay:-.3s}.lds-ring div:nth-child(3){animation-delay:-.15s}@keyframes lds-ring{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@media screen and (-ms-high-contrast:active),screen and (-ms-high-contrast:none){.main-wrapper,body{display:block}}</style><meta http-equiv="refresh" content="375"></head><body class="no-js"><div class="main-wrapper" role="main"><div class="main-content"><noscript><div id="challenge-error-title"><div class="h2"><span id="challenge-error-text">Enable JavaScript and cookies to continue</span></div></div></noscript></div></div><script>(function(){window._cf_chl_opt={cvId: '3',cZone: "iboard-api.ssi.com.vn",cType: 'managed',cNounce: '80043',cRay: '86882becfee61071',cHash: '3bf98939e59d63f',cUPMDTk: "\/statistics\/company\/stock-price?symbol=SSI&page=1&pageSize=10&fromDate=11%2F03%2F2024&toDate=11%2F03%2F2024&__cf_chl_tk=YHx9KHpVuLp7wMyvuiwmMkaEPAdb2dl2qjs_HNrtWaY-1711131373-0.0.1.1-1855",cFPWv: 'g',cTTimeMs: '1000',cMTimeMs: '375000',cTplV: 5,cTplB: 'cf',cK: "visitor-time",fa: "\/statistics\/company\/stock-price?symbol=SSI&page=1&pageSize=10&fromDate=11%2F03%2F2024&toDate=11%2F03%2F2024&__cf_chl_f_tk=YHx9KHpVuLp7wMyvuiwmMkaEPAdb2dl2qjs_HNrtWaY-1711131373-0.0.1.1-1855",md: "8a.d_S2ujUibVLkqsLCDW.oVjUc6JDTIh2bZbs9_lmc-1711131373-1.1.1.1-W1EEu65xuOsZb5R4TJ27gzsOjmKVGrN.JVnKdlpdbaUsTRJR763TtE4ywhclR9rA.mzFpkseaKNA7YBr5RSp9Emp5hA.wqPUqwYuBBSVZ6uzSYalS4ZjZyfJI5Qq0Fhr.11QplJ_pfi8q4Hm9jfcbkx0UA.58ucdrZuJ8USz882vr7CkgbpCq5.r4UEm7zJYCpgiJs9er2gOj89YnZf.bkYGrMjvMkZOQ6WVaDnI539OiHE5quqYfVfJnhi7c5zOriMiKXy0x7L2yg_BrxWT07D_wVQfx5wcQU4cWPhJ.2PPmDL2e8zCBYvflwu6d41YmqTUCi5ybcqlBvZSX53EapOojHZJHNklihRuvMXzkavlQGuyOaS_Tksvnf82kNUrMercEoaAFO41VpN564XEtYy8DikyLyXncAdrxg_pG4di0DT8S.VSSpdNH8zhi0_vVNVe4ORDp27EC4gSpbX6SPHQmvbwmz57hTJuR8eBqfwSvKeCQZe_tVBiuaP4l7oQbOCIcJpuQSmi48LC2GBn8N7Cw1cIcp4DNzGsYFrM0LamFGpFqurJgJllM3ORSKSXqnK23WuIA6fd8Ygg_jh_twQ.CrKCyJwai_ETh4LhRIzr4cqysJF0mmm950X2Bkqidxw.QjHXd5HVWCxtYfJkqukLZUvTo0N2bD4dad0rqPfO4G7ebcJynnunfuI6IxP1X03acZoq7.bdAcvs0K_P38CmlG75YOY_GmAu60fYYgkHO143rqooI1BKHcv.WZ27a7f0hVTeFTtF6mjqF4I.m0iJUA_4JI_Pg5aRjU7nGkRBJTDn4gqNT70EmgfW.QC0RAL4nGBfNaIpOwjC1RrTGdlAqklujJn0gdwg05YQaRHQ3MjTVoQKpW0AdtnmJEIIRbnUnJtKpip9_vWb9wUb_Q.ZVJJTTw5irw9QITD4aiq2dMYmJJ132ltfuVIcBln3Ju2AXNV8Ti8..8hq3Y0U5KlXm07FXKgAsIG4Q2cyN5PFl4gtqE.cUa2M9DZdfAw9MV8U05VidjtGTsfoD_jnOouKFStjyx5pzt1hQRD.Gk7i3e8FUGuar4Vkguf3Y0clUxfzQrqbkQ9TaaeGxNolAHBmvgkQr4YRYJeRPXTGaxdQ5.fI0M66AGOd4XkMeUS2pm59cNZllkohTmkxzR6CO3_kZC15vg2_x1njucTPSWvHpruM_OFoPg8jW49v6PYyjAeNqdt9MpXW5izm2St9QcSvtNwqgaSEFco7A_RqCRG8entChqqV0AK3FBwfM.HYfGtemOgM_AuI5r0cngmspJNpeZA8aNWIWnENMoUIQdcPCejWdxXOosgECsl_tWQE6F7Hn6Epz6dwKM.R7CcHKwzoqMMUAB8BaQ1WwVik2SMfbsFt_9Jrz76nj6_J2.z6jxovzk2RWmWMC3v82hLi7cPcU_7d4RR6.wlpUlDZ9cTooyZ.V.Kiu74et1wWVKoSBiaam0YNPdPDQC7KlHFpFHlPlouOiwdmdQ6tl2I8OLWSJTCzQNEBmdFHjTCmuTC9zZNPY96GPytEVfmPMIKbD8WU0qgUpaMkHpMOJs72hKM0HycBwwtac7EmP.KhrK0ovXzO_lEa.B8gPqlZqxdESaMVyskaJF0SOm1YvonCyJi.nTy2fRUK_Gdxdf7PMjYbi5twZLRBfCPpZk9SxeMO6VYbqUe7TP3lvd3lZy5.fVK8UD1qIbZWeBaMQofsfjhXdZM2k8FPBzgyhCG_bBqjU7EJBsotf_c6GbVqIp0suKaeZshmseI03x1UkYLC2tdR",mdrd: "U5N0dpScNALFb36bgPGOJs_w4zzgv9fWsczmBBLMJpo-1711131373-1.1.1.1-6IYVe1p7kzlX4OwwceTKh2SxwLY9IfwfWYRtyUOM9aCLLfk4e3Nxv_z1EteQEriEckWQqX4E39fmMGySlm3AbeGAuD64apqnoW1z4sXcm8mea61sB1.rWbODAARdIFlHqG9oXFma7UPSVyj1Xyq31rvvQL5ukM0XrqjjenkY0CbTa5ENT7u6hBKoKXIgzfj_bcbluh.Cm1m.H_XgqzLKls86RSkMp_dd.woTA9USvvtMuF0CR171fxxjLNJXbsrdWQYkcujlS4n05jx35_0wG7DyzginCT9hNC0DUG_OQAPEp1mKHS8SQr4a57ECbUc3YCz8scm8DoHCA3sppCrX2uLdqWJ.zKpfbgLsZUep3Fk4nGUQs6e56rdGgqa1gNHcEk98vXAqG0tXaoow5p5ejBJXnypHHXcyE6zCV66vwQf_h_dXxFLpzfgnO1_OwVkaDiqIHGn.idEbB7FMlonXnOTRRzzBs9IdrPkjVfqyQwtmR_2jI_Nm10p4mwUn7LDbOj39tCOFVb8twS1SbJunzblBmLn.p9wbM.qdqDBGgVfROTCvcDeUH8KXH51sJy_M_l._qxh9PDiwQYZqP.sPxEj4iIFQ0RN.qY6jKAbtnsSG_E0nNcDw_1tn3ULYWtsR9r1HI0V9DHFZZVRqMeBXZUreFy_0FORlXSCRkGEnUUpzdp5zs4fNeGuFkmvt4BmT.KQves4cD9zfn_2nbq7paHBwt3rGAqxHeWUN13md4RNiVilgBCKJTotdGPHThM8aDNaICxLCkhKxmU8t6r0h4Aj_shl17uMe._63k.xbJ_na2FC7JsjgxnvQzi42IIpocQRk1G5.U7MJHRL9KAw_G0B2xxff2YoNzZ.kAQjn2xo770AMdmnzdgN47mE._tO.kQEcMatYyHapzt9mgYjxex_I.tlfXl1R5M81N4uiIJy2Upv1grqSgbmqgAmrheZWjSCUpAOg9XVafSMmqdER8hPSQSBSUfQHKEdERtt..irxx1s1M7LojiGtrTUq3FE8BfMizr3DOYlH.eKwmgR7rjZeGtonaQr6CXyKr3_u.yw1HoNzc6WtIHmzGxKQzwI19fK5muwxkko6XcCXQd2PZqensNGOTTVg3aWXPxxAGxQzcgSWMbNYD5BxzBeJabMwVfI85ZZpS5FAGLx0E_kSTrhkNgsDrPfG19BN0pfNMBnkCu2QUsaMi5trUUaMQW7Wj7AnWsdiya7yXpe3VQegvlIvr_Ay1pEgvFkTPGVmyzkYcmIfw6sP2ENXOcwr1CEJ_dXgjJ5iZvPnE8hL1c02Vg6jBIk1dXyDFYS6mjjMciXgFZcOJY3xRrME63t_M18BAjfrBVTsgdMB8VVq1mWGbzydIEC0165gRx8dNtgPtJY13jHa4WcY_SbpoZNrc6vEBYeZrRMm.1aZ3SUNKxrlggRyGuG7ZusEyaHLlxI7cR9mI4ZEEyejvr0eibBoDl5Upn7R7wLgW2sWHRQ9s6GfakulD7ap0Is0w0ae9Z7bF.Os.0iiWLW_bdhxWa_rOeYUtLcgjzTbXHwdFZoH3cKVawUqI_vsGQlbfgPqdv.PABaW.MruhLJcDrdIG.t.oSsQCnzcCOBK8j_dj2TNPVrrWFtJ0fw_mMD1XyuillQU00EhYZPGvWtYmSZ7gr5hOWtUwIbIIiaSQh.1CJWAAacWPazpp8kC0b9Cc27NL3hZgtEFyy1U4HBIz6i5U7oCsdkVH_kWD_uuf8Df8YVST.U0Oki8sFYzdGyb9uL34aEhjzA8ZNdKpNF6wI0zj1dElEhnZev9EYAM2B_WxkREw2UL6_Gtb35eIMG4NJzaR3hbm9HVLJQ.6g1MyeAxjfek9gPc89Tf4iKo6xE2QeAFwOAJiujioDJ6eRQ8ifNQ60VfiQ7mFtNVEqebHG5NKfgllyY8zkV42HdY8cqyaa7D.1rFnu9Wn5lM3TFI0zQ9kqCBT3w7nEFbDQSGlFZt_oVYvKcYrCsLYUXE1wDgPZt9wpkd_kpMAMxNL2PKQajLEQdQPo_DoQEsaUT2WmmOoZZp4pumkZvbyJH0t3CUEU4SZ24t8O_8xCVx1gOA04070bZCPUNd39OwfBr4z9qKEb7CA4vXxuAOpr9tXMiuJWdxOvg6oSZfaScV.SqSTUP96e6S7jNv9yqJEJcqnXqk1jjBdd7Kp5SGUKcDxS4NV6.6WTmx1u.K5QIImGe6YJceZdTnLBEw__wVTjixyrQJIU69u8meyKglgyH21cjwXey2sKTdv14dYv32YptzFp4sWge3985IOAKVNZizQTN0SNW2boh2Rl8FdWwWE5I7JySgy3z8mIBqhIYcegBC4zcP2mWZZHqTz0YnC3b4nABblu0A_WzIVzgSzD7lrJCiY4XEmFxJ0iILm..xgTtuCW6gQsyqjpyJH2xkHzWDU_euEEpgAA0vGjQzPABO2X72G2lu3PZJWA",cRq: {ru: 'aHR0cHM6Ly9pYm9hcmQtYXBpLnNzaS5jb20udm4vc3RhdGlzdGljcy9jb21wYW55L3N0b2NrLXByaWNlP3N5bWJvbD1TU0kmcGFnZT0xJnBhZ2VTaXplPTEwJmZyb21EYXRlPTExJTJGMDMlMkYyMDI0JnRvRGF0ZT0xMSUyRjAzJTJGMjAyNA==',ra: 'TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE3LjQgU2FmYXJpLzYwNS4xLjE1',rm: 'R0VU',d: '65Pd7stf4uDqv0qutBPjJz7Nz3XjicS9CFKVj06PnlfODbkOMniXShRlt3KAoOByoidS14je/O8ePTgrlvwrDNmsamHZu6M3hF2jE67BpR5t/MgI0nbNfZGWJUD9/pnUnT5qN4IifG+gLhCuYcgquO68EY7iSAU4b51A55Bhvwm1lNiBn5TK44qWNxBpZ6eZTEPWkikRRhplADK69y3WkUVnwEIzCCaOgWeCLMJTYVYV+E+BBOsLkhw8wkT6+VtrlljdILsizeddbEtENheABWmFYqxdFTxzuaM7sH2LMzeQP+orYym/3hkH1pScqGJ1TJLvCIKIHbEtn/BEGDevcQ9vQSWA5C6cKHv9QnInSfQ8buyj1ZR9uyJNGmf72O60b56j56MpIvYFXGt3+0KnxvbmHESj097AYKgFng9r+bRDkYEcU0WV3I1KoO2/MqopE4MJzeHSb8heyE/HqcsT/HSE74E0ajLMHGUbXNd5K1wHSaoqZorntpkvBM2adze5szjvMf4MOZW/UsHyp78LqD3qek1lUEOLzEVOHenOfe6Ag2SWG5Rxq2wMne7PnHoyM3H1vnUH9D11NmBeCUlDYQ==',t: 'MTcxMTEzMTM3My42MDMwMDA=',cT: Math.floor(Date.now() / 1000),m: 'lZWmpHpjvggm7BjFb6pjSzNbvPKdk7q7JEd27Td+/kI=',i1: 'U71uPfHj6hYDTHjJqmMX1g==',i2: 'Um8p9lb7S0YQ4fFvQYWt9w==',zh: 'w/y/gHMojU3xF7zj8ztB7LjRm6xyNq7TN0BCkPPuqaQ=',uh: 'M+lGnfkPmcM2NDK5UFBdSsOPVyEefVn+sKDbYcVHqEc=',hh: 'lIJGWzlXn2PZLX2Y/9QM136dYacfcLWT6WO7+0w1bSM=',}};var cpo = document.createElement('script');cpo.src = '/cdn-cgi/challenge-platform/h/g/orchestrate/chl_page/v1?ray=86882becfee61071';window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, location.href.length - window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;if (window.history && window.history.replaceState) {var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;history.replaceState(null, null, "\/statistics\/company\/stock-price?symbol=SSI&page=1&pageSize=10&fromDate=11%2F03%2F2024&toDate=11%2F03%2F2024&__cf_chl_rt_tk=YHx9KHpVuLp7wMyvuiwmMkaEPAdb2dl2qjs_HNrtWaY-1711131373-0.0.1.1-1855" + window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());</script></body></html>
2024-03-23T01:16:13.383+07:00 DEBUG 3804 --- [nio-8080-exec-1] com.stock.api.SsiIBoardApi               : [SsiIBoardApi#getStockPrice] <--- END HTTP (16887-byte body)

Thanks for reading and help to me can use openfeign to call success

1

There are 1 best solutions below

2
Ken.Zhang On BEST ANSWER

If it is due to cloudflare redirection you can follow the steps below to fix it, otherwise please provide more detailed log information, please open openfeign debug log.

You can try using apache HttpClient as your default client for openfeign and configure the redirection policy.

Add dependencies:

        <dependency
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency
        <dependency>
            <groupId>org.apache.httpcomponents.client5</groupId>
            <artifactId>httpclient5</artifactId>
            <version>5.3.1</version>
        </dependency
        <dependency>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-httpclient</artifactId>
        </dependency>

Example:

@Configuration
public class FeignConfig {
    @Bean
    Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }

    @Bean
    public Client feignClient() {
        HttpClient httpClient = HttpClients.custom()
                .setRedirectStrategy(new LaxRedirectStrategy())
                .build();
        return new feign.httpclient.ApacheHttpClient(httpClient);
    }
}

Adjust Headers:

@Configuration
public class SsiInterceptor2 implements RequestInterceptor {
    @Override
    public void apply(RequestTemplate template) {
        template.header("origin", "https://iboard.ssi.com.vn");
        template.header("Host"," iboard-api.ssi.com.vn");
        template.header("Sec-Fetch-Dest","document");
        template.header("Sec-Fetch-Mode","navigate");
        template.header("Sec-Fetch-Site","none");
        template.header("User-Agent","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15");
        template.header("Accept","application/json;charset=utf-8");
    }
}

application.properties:

logging.level.com.example=debug

2024-03-23T12:36:49.001+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] ---> GET https://iboard-api.ssi.com.vn/statistics/company/stock-price?symbol=SSI&page=1&pageSize=10&fromDate=11%2F03%2F2024&toDate=11%2F03%2F2024 HTTP/1.1
2024-03-23T12:36:49.002+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] Accept: application/json;charset=utf-8
2024-03-23T12:36:49.002+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] Host:  iboard-api.ssi.com.vn
2024-03-23T12:36:49.002+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] origin: https://iboard.ssi.com.vn
2024-03-23T12:36:49.002+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] Sec-Fetch-Dest: document
2024-03-23T12:36:49.002+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] Sec-Fetch-Mode: navigate
2024-03-23T12:36:49.002+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] Sec-Fetch-Site: none
2024-03-23T12:36:49.002+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15
2024-03-23T12:36:49.002+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] ---> END HTTP (0-byte body)
2024-03-23T12:36:49.670+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] <--- HTTP/1.1 200 OK (668ms)
2024-03-23T12:36:49.670+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] access-control-allow-origin: *
2024-03-23T12:36:49.670+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] alt-svc: h3=":443"; ma=86400
2024-03-23T12:36:49.670+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] cf-cache-status: DYNAMIC
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] cf-ray: 868bb8ff4e1f0439-HKG
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] connection: keep-alive
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] content-security-policy: default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] content-type: application/json; charset=utf-8
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] cross-origin-embedder-policy: require-corp
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] cross-origin-opener-policy: same-origin
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] cross-origin-resource-policy: same-origin
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] date: Sat, 23 Mar 2024 04:36:49 GMT
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] etag: W/"3f0-ArBkdhpf3CukCp8JB9CMGWnHHMw"
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] expect-ct: max-age=86400, enforce
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] origin-agent-cluster: ?1
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] referrer-policy: same-origin
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=TY%2FYpwjIjqr1x%2Fs9g63Vc6UX%2F%2BUucmvr%2F6ArgPr5vLgBCg8TSCJ9oPMoL4QpIq2yRtqh2c3BX5pFnVkZB%2Bw%2BPVj6ZVJZcMfR8zT4anIjRs%2B2hqfP7itSnTNz00UeWlAIQ%2Bd7EFGBQw%3D%3D"}],"group":"cf-nel","max_age":604800}
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] server: cloudflare
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] set-cookie: __cf_bm=B8tXLoBCiWt2qMDXAhijsfQRYnG4zZ_wBAJnW7SkydE-1711168609-1.0.1.1-4d5a7MGTLu.4klJuX3xfMqb4QawLHdEinzpCsMwc2T5gThiNhUn4S1m8JOCIQibE2kynN62ZrCllUFE8.IoI5Q; path=/; expires=Sat, 23-Mar-24 05:06:49 GMT; domain=.ssi.com.vn; HttpOnly; Secure; SameSite=None
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] set-cookie: _cfuvid=Lkata1Xly4DEMWaEEjsrY4Uyra5no8JZLHJ8.g70M9E-1711168609620-0.0.1.1-604800000; path=/; domain=.ssi.com.vn; HttpOnly; Secure; SameSite=None
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] strict-transport-security: max-age=15552000; includeSubDomains
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] transfer-encoding: chunked
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] vary: Accept-Encoding
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] x-content-type-options: nosniff
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] x-dns-prefetch-control: off
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] x-download-options: noopen
2024-03-23T12:36:49.671+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] x-frame-options: SAMEORIGIN
2024-03-23T12:36:49.672+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] x-permitted-cross-domain-policies: none
2024-03-23T12:36:49.672+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] x-ssi-test: https://iboard.ssi.com.vn
2024-03-23T12:36:49.672+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] x-xss-protection: 1; mode=block
2024-03-23T12:36:49.672+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] 
2024-03-23T12:36:49.673+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] {"code":"SUCCESS","message":"Get stock price data success","data":[{"tradingDate":"11/03/2024 00:00:00","priceChange":"-450.0","perPriceChange":"-0.0122282600","ceilingPrice":"39350.0","floorPrice":"34250.0","refPrice":"36800.0000000000","openPrice":"36800.0000000000","highestPrice":"37150.0000000000","lowestPrice":"36200.0000000000","closePrice":"36350.0","averagePrice":"0.0","closePriceAdjusted":"36350.0000000000","totalMatchVol":"24854489.0","totalMatchVal":"912664221400.0","totalDealVal":"34250.0","totalDealVol":"1.0","foreignBuyVolTotal":"1009490.0","foreignCurrentRoom":"833058565","foreignSellVolTotal":"391764.0","foreignBuyValTotal":"37232568000.0","foreignSellValTotal":"14383227400.0","totalBuyTrade":"14982","totalBuyTradeVol":"40364869.0","totalSellTrade":"10000","totalSellTradeVol":"46158746.0","netBuySellVol":"617726","netBuySellVal":"22849340600","exchange":"0","symbol":"SSI","foreignBuyVolMatched":"1009490.0","foreignBuyVolDeal":"0.0"}],"paging":{"total":1,"page":1,"pageSize":10}}
2024-03-23T12:36:49.673+08:00 DEBUG 22073 --- [           main] com.example.stackoverflow.SsiIBoardApi   : [SsiIBoardApi#getStockPrice] <--- END HTTP (1008-byte body)
2024-03-23T12:36:49.777+08:00  INFO 22073 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2024-03-23T12:36:49.783+08:00  INFO 22073 --- [           main] c.e.s.StackOverFlowApplication           : Started StackOverFlowApplication in 1.707 seconds (process running for 1.948)

OpenFeign's default client relies on Java's HttpURLConnection, which is a straightforward, low-level API for handling HTTP requests. It doesn't inherently support executing JavaScript or dynamically managing cookies. Websites protected by services like Cloudflare or similar security solutions often use JavaScript challenges and require cookies to verify that the client is a legitimate web browser and not an automated script. Since HttpURLConnection cannot execute JavaScript, it fails to pass these security checks, leading to the prompt to enable JavaScript and cookies.

On the other hand, Apache HttpClient is a more sophisticated HTTP client library that offers extensive support for HTTP protocol management, including stateful connections through cookie management. While Apache HttpClient itself does not execute JavaScript, its enhanced handling of HTTP headers and cookies makes it more adept at mimicking the behavior of a web browser. This capability can sometimes bypass basic web security checks or more effectively manage cookies set by the server, thereby avoiding the JavaScript and cookie prompt you encountered.

Additionally, when using Apache HttpClient with OpenFeign, it's often configured with additional customizations or middleware that can manage cookies more effectively or simulate browser-like interactions better than the default client. This setup can inadvertently satisfy the requirements of some web security measures, allowing the request to proceed without triggering JavaScript execution prompts.

You can use the solution I gave to solve these problems, of course you can also use OkHttp as a client, I am using Apache HttpClient here