当我试图像这样从雅虎获取历史数据时:

private fun getStockHistoricalData(){
    val queue = VolleySingleton.getInstance(this)
    val query = "https://query1.finance.yahoo.com/v7/finance/download/AAPL?period1=1635962336&period2=1667498336&interval=1d&events=history&includeAdjustedClose=true"
    val request = StringRequest( Request.Method.GET,query,
        { response ->
            println("response = $response")
        },
        { error ->
            println("Error ${parseVolleyError(error)}")
        }
    )
    request.setShouldCache(false)
    queue.addToRequestQueue(request)
}

我收到以下错误:Value Forbidden of type java.lang.String cannot be converted to JSONObject和以下内容:

NetworkUtility.shouldRetryException: Unexpected response code 403 for https://query1.finance.yahoo.com/v7/finance/download/AAPL?period1=1635962336&period2=1667498336&interval=1d&events=history&includeAdjustedClose=true

查询运行良好.你可以试一下postman 或浏览器.我还try 了不同的变种,比如JsonObjectRequestMethod.POST,而不是GET.改装也没有奏效.它以前甚至还起作用了.

推荐答案

try 覆盖您的标题,如下所示:

override fun getHeaders(): MutableMap<String, String> {
    val header = HashMap<String, String>()
    header["User-Agent"] = "Mozilla/5.0"
    return header
}

Android相关问答推荐

以正确的方式从房间收集流量

滑动以更改合成中的活动

使用Kotlin的SD卡

合成 colored颜色 的GSON反序列化

Jetapck Compose:将Compose BOM更新为最新版本&2024.01.00&Quot;CircularProgressIndicator后出现错误

关闭导致Kotlin中的内存泄漏?

Android 12+BLE字节不同

布局可组合项如何具有可测量和约束参数?

当 Jetpack Compose 中的第一个文本很长时,将省略号添加到第一个文本

如何使用滑行加载媒体的专辑封面?

使用 Kotlin 在 Android 中导航时如何防止 ViewModel 被杀死?

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

服务似乎在启动时忽略传递的变量

Jetpack Compose 动画的行为是什么?

如何使用 Jetpack Compose 在图像上叠加文本

错误:构建 react-native 应用程序时包 com.facebook.react.bridge 不存在

如何处理 com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: For input string: "T1V 4Y8" Kotlin

对话框中的内容不可见

房间实时数据:启动时崩溃

在 android-billing-5.0 中获取 ProductDetails 价格