请求接口时 一直响应308

请求接口时 一直响应308 ,求指点。
使用的 是OkHttp+Retrofit 发送的请求
https://www.okx.com/api/v5/trade/order

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    答案:

    这个308错误表示请求需要重定向,但是客户端似乎不会自动重定向到新的位置。这通常是因为请求的URL被更改,但客户端没有实现正确的逻辑来遵循重定向请求。您需要检查您的代码是否正确地处理了HTTP重定向响应。

    具体来说,您需要检查您的请求是否带有必要的请求头信息,并正确配置Retrofit和OkHttp的请求拦截器,以允许重定向请求。

    以下是一个可能的解决方案:

    首先,确保您的请求头信息中包含必要的内容,例如User-Agent、Cookies等。您可以使用OkHttp的拦截器来添加这些信息。以下是一个示例:

    OkHttpClient client = new OkHttpClient.Builder()
        .addInterceptor(new Interceptor() {
            @Override
            public Response intercept(Interceptor.Chain chain) throws IOException {
                Request request = chain.request().newBuilder()
                    .addHeader("User-Agent", "Your-User-Agent")
                    .addHeader("Cookie", "Your-Cookie-Value")
                    .build();
                return chain.proceed(request);
            }
        })
        .build();
    

    其中,您需要将"Your-User-Agent"和"Your-Cookie-Value"替换为您的实际信息。

    接下来,您需要配置OkHttp和Retrofit的请求拦截器,以允许重定向请求。以下是一个示例:

    OkHttpClient client = new OkHttpClient.Builder()
        .followRedirects(true)
        .followSslRedirects(true)
        .retryOnConnectionFailure(true)
        .build();
    
    Retrofit retrofit = new Retrofit.Builder()
        .baseUrl("https://www.okx.com/")
        .client(client)
        .build();
    

    其中,您需要将baseUrl替换为您的实际API地址。

    请注意,重定向请求可能会带来一些安全风险,因此请确保只在必要时允许重定向请求,并对响应结果进行正确的验证和处理。

    至此,我希望这些信息可以帮助您解决问题。如果您仍然遇到问题,请提供更多详细的请求信息和错误信息,以便我们更好地帮助您。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

http 状态返回码 308 表示当前请求的资源已经永久的转移到其他的uri