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

如何在Python中获取请求头URL值?APKMirror下载重定向问题解决

解决APKMirror下载APK时curl无法跟随直链的问题

问题分析

APKMirror的下载页面不会直接重定向到APK直链,而是需要携带正确的请求头和Cookie触发download.php的真实下载跳转,单纯用-L参数无法满足站点的验证要求。

解决方法

1. 使用curl携带必要请求头和Cookie

先在浏览器开发者工具中复制download.php请求的完整请求头(包括User-Agent、Cookie、Referer),再用curl模拟:

curl -L \
  -H "User-Agent: 你的浏览器User-Agent" \
  -H "Referer: https://www.apkmirror.com/apk/google-inc/youtube/youtube-19-16-39-release/youtube-19-16-39-android-apk-download/" \
  -H "Cookie: 从浏览器复制的Cookie内容" \
  "https://www.apkmirror.com/apk/google-inc/youtube/youtube-19-16-39-release/youtube-19-16-39-android-apk-download/download/?key=15b5cb3061082b309a0c30f1d2e410704e909596&forcebaseapk=true" \
  -o youtube.apk
  • 注意:Cookie需要包含APKMirror的会话标识(比如__cfduid、apkmirror_session这类字段),直接从浏览器请求头复制即可。
  • -o youtube.apk指定保存文件名,避免内容输出到控制台。

2. Python + requests模拟下载

用Python结合requests和BeautifulSoup,通过会话保持Cookie自动处理验证和跳转:

import requests
from bs4 import BeautifulSoup

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
session = requests.Session()

# 先访问下载页面获取会话Cookie和页面内容
download_page_url = "https://www.apkmirror.com/apk/google-inc/youtube/youtube-19-16-39-release/youtube-19-16-39-android-apk-download/"
response = session.get(download_page_url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")

# 获取带key参数的下载链接
download_link = soup.find("a", {"class": "accent_color"})["href"]
full_download_url = "https://www.apkmirror.com" + download_link

# 触发下载并保存文件
response = session.get(full_download_url, headers=headers, allow_redirects=True)
with open("youtube.apk", "wb") as f:
    f.write(response.content)

3. Selenium自动化下载

完全模拟浏览器行为,绕过站点验证:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

options = webdriver.ChromeOptions()
options.add_experimental_option("prefs", {
    "download.default_directory": "/你的本地下载路径",
    "download.prompt_for_download": False
})

driver = webdriver.Chrome(options=options)
driver.get("https://www.apkmirror.com/apk/google-inc/youtube/youtube-19-16-39-release/youtube-19-16-39-android-apk-download/")

# 点击下载按钮(需根据页面实际元素调整选择器)
download_button = driver.find_element(By.CSS_SELECTOR, "a.accent_color")
download_button.click()

# 等待下载完成
time.sleep(10)
driver.quit()
  • 注意:页面可能有广告弹窗,需先处理弹窗再点击下载按钮。

关键注意点

  • 必须携带符合浏览器规范的User-Agent,避免被识别为爬虫。
  • Cookie是会话验证的核心,无Cookie的请求会被重定向回下载页面。
  • 下载链接的key参数有有效期,过期后需重新获取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 12:43:11