嗨,我想知道为什么我的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

推荐答案

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

 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来解决这个问题,只是在 retrofit 中添加了头来解决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}

Android相关问答推荐

带有kSP而不是kapt的Hilt

如何使TextField的背景透明?

理解修饰符<;方法>;与修饰符<;方法>;:效果和行为解释(Android开发者Jetpack Compose)

约束布局:垂直链中的视图应将内容包裹到空间的1/3

在模块中找到重复的类com.google.Firebase.auth.ktx.AuthKt||Android Studio

StateFlow集合AsState没有更新他的值Jetpack Compose导航

登录方法显示为空列表,即使它显示的是Firebase身份验证控制台

默认调度程序是否在协程中使用共享线程池?

如何将 Room Persistence 依赖项正确添加到我的 Jetack Compose Android 应用程序

在 kotlin 协同 routine 中,如何将数据范围限定为请求路径(以 MDC 为例)?

Kotlin File(path).walkTopDown() 找不到文件

为什么集成React Native时compileSdkVersion错误?

获取 ArithmeticException:除以零,但我没有在任何地方除以零

如果 auth 失败,如何显示 toast jetpack compose firebase if else @Composable 调用只能在 @Composable 函数的上下文中发生

在移动设备上看到时如何增加 PasswordField 文本?

没有互联网连接时,Firebase Storage putFile() 永远不会完成

我不能在 jetpack Compose 中使用 TextField()(material 3)

Hilt 依赖注入重复绑定错误

协程是否在 if 条件下保持秩序?

Android WebView 没有在第一次页面完成时从本地存储读取数据?