如何修复在浏览器中工作但在Android Studio中工作的API调用

n53p2ov0  于 2022-09-21  发布在  Android
关注(0)|答案(2)|浏览(151)

嗨,我想知道为什么我的API调用在浏览器中工作,但当在Android Studio中调用时,我得到了一个403错误。调试器

D/OkHttp: <-- 403 https://api.boblop.com/search/api/rest/v3/catalog/products/search/keyword?q=asesea&key=esaesaesae (106ms)
D/OkHttp: server: AkamaiGHost
D/OkHttp: mime-version: 1.0
D/OkHttp: content-type: text/html
D/OkHttp: content-length: 350
D/OkHttp: expires: Tue, 20 Sep 2022 10:27:24 GMT
D/OkHttp: date: Tue, 20 Sep 2022 10:27:24 GMT
D/OkHttp: strict-transport-security: max-age=31536000 ; includeSubDomains
D/OkHttp: <HTML><HEAD>
D/OkHttp: <TITLE>Access Denied</TITLE>
D/OkHttp: </HEAD><BODY>
D/OkHttp: <H1>Access Denied</H1>

Any Ideas why android studio might be giving me back a 403 error?
Many Thanks
lhcgjxsq

lhcgjxsq1#

我只是在一些代码中实现了它,您可以在下面查看它:

request = new Request.Builder()
                    .url("https://api.johnlewis.com/search/api/rest/v2/catalog/products/search/keyword?q=dishwasher&key=AIzaSyDD_6O5gUgC4tRW5f9kxC0_76XRC8W7_mI")
                    .get()
                    .addHeader("Cache-Control","no-cache")
                    .addHeader("User-Agent",System.getProperty("http.agent"))
                    .build();

通过使用上面的代码,我能够在手机应用程序中获得200个响应。我使用了OkttpClient来解决这个问题,只是在改造中添加了头来解决403问题。

Response{protocol=h2, code=200, message=, url=https://api.johnlewis.com/search/api/rest/v2/catalog/products/search/keyword?q=dishwasher&key=AIzaSyDD_6O5gUgC4tRW5f9kxC0_76XRC8W7_mI}
wpx232ag

wpx232ag2#

HTTP 403禁止客户端错误状态响应代码指示服务器理解该请求,但拒绝对其进行授权。

此状态类似于401,但在这种情况下,重新进行身份验证不会有任何影响。访问被永久禁止,并与应用程序逻辑绑定(如不正确的密码)。

相关问题