You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Retrofit(Kotlin)发起HTTP请求时遭遇403错误的解决咨询

解决Retrofit请求Apkpure搜索接口返回403错误的问题

问题核心

服务器返回403且错误体包含Just a moment...,说明这是Cloudflare人机验证机制在拦截程序化请求。仅添加User-Agent不足以绕过,Cloudflare会验证请求头的完整特征,甚至检查浏览器运行环境。

解决方案

1. 模拟浏览器完整请求头

先在浏览器中访问目标URL,按F12打开开发者工具→切换到Network标签→找到对应GET请求→复制Request Headers中的所有关键字段,在OkHttp拦截器中全部添加:

val okHttpClient = OkHttpClient.Builder()
    .addInterceptor { chain ->
        val originalRequest = chain.request()
        val modifiedRequest = originalRequest.newBuilder()
            // 复制当前浏览器的User-Agent(建议用最新版本)
            .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36")
            // 添加浏览器的Accept头
            .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8")
            // 添加Accept-Language头
            .header("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3")
            // 添加Referer头
            .header("Referer", "https://apkpure.com/")
            // 复制浏览器请求中的Cookie(注意Cookie可能过期,需定期更新)
            .header("Cookie", "此处粘贴浏览器中的Cookie内容")
            .build()
        chain.proceed(modifiedRequest)
    }
    .build()

val retrofit = Retrofit.Builder()
    .baseUrl("https://apkpure.com/")
    .client(okHttpClient)
    .addConverterFactory(ScalarsConverterFactory.create())
    .build()
    .create(ApiService::class.java)

2. 优化Retrofit接口定义(更规范)

将硬编码的查询参数改为@Query传递,方便后续动态修改搜索关键词:

interface ApiService {
    @GET("search")
    suspend fun searchResults(
        @Query("q") query: String,
        @Query("t") t: String = ""
    ): Response<String>
}

// 调用示例
retrofit.searchResults("free+fire")

3. 处理Cloudflare高级验证(进阶)

如果添加完整请求头后仍返回403,说明Cloudflare启用了JavaScript挑战。这种情况Retrofit无法直接处理,可尝试:

  • 使用WebView先加载目标页面,完成人机验证后提取Cookie,再用Retrofit携带该Cookie发起请求。
  • 查找Apkpure官方公开API(若存在),避免爬取网页内容。

注意事项

  • Cookie存在过期时间,需定期从浏览器或WebView中更新。
  • 爬取网站内容需遵守目标网站的robots.txt和服务条款,避免违规操作。

内容的提问来源于stack exchange,提问作者TDKMS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 11:41:11