嗨,我想知道为什么我的API调用在浏览器中工作,但是当在Android中调用时,我会得到一个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
发布于 2022-09-20 12:45:45
我只是在一些代码中实现它,您可以在下面检查它:
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}
发布于 2022-09-20 11:27:54
HTTP 403禁止客户端错误状态响应代码表示服务器理解请求,但拒绝授权请求。
这种状态类似于401,但在这种情况下,重新身份验证不会产生任何影响。该访问被永久禁止,并绑定到应用程序逻辑(例如不正确的密码)。
https://stackoverflow.com/questions/73785606
复制相似问题