Http POST请求对邮递员有效,但在改造请求时得到403
我正在尝试使用POST请求登录到服务器 问题是,当我使用邮递员请求时,一切都正常,但当使用改装请求时,我得到403 这是我的请求,正如预期的那样,我使用伪字符串替换了我的名字和密码,因为这是一个私有服务器。这是我的改装代码:Http POST请求对邮递员有效,但在改造请求时得到403,http,kotlin,retrofit,postman,http-status-code-403,Http,Kotlin,Retrofit,Postman,Http Status Code 403,我正在尝试使用POST请求登录到服务器 问题是,当我使用邮递员请求时,一切都正常,但当使用改装请求时,我得到403 这是我的请求,正如预期的那样,我使用伪字符串替换了我的名字和密码,因为这是一个私有服务器。这是我的改装代码: @FormUrlEncoded @POST("system/login.pl") fun login(@Header("cache-control") cacheControl: String = "no-cache", @Field("login_hi
@FormUrlEncoded
@POST("system/login.pl")
fun login(@Header("cache-control") cacheControl: String = "no-cache",
@Field("login_hidden", encoded = true) loginHidden: String = "1",
@Field("destination", encoded = true) destination: String = "/auth",
@Field("credential_0", encoded = true) username: String = "",
@Field("credential_1", encoded = true) password: String = ""
): Flowable<Response<String>>
尝试记录您通过改造从新网络拦截器发送的完整请求,并通过单击右上角的“代码”按钮将其与您从Postman获得的内容进行比较。如果有什么不同可以解释为什么你会得到不同的回答,我已经试过了。还尝试将代码从邮递员导入应用程序,但根本不起作用。然后,它可能与重定向相关:默认情况下,邮递员被配置为跟踪重定向并存储cookies,而OkHttp跟踪重定向,但不存储/发送任何cookies,除非您将其配置为这样做。你有没有检查过邮递员是否保存了饼干?我这样做主要是为了得到一个特定的饼干。但我用webView和Javascript解决了这个问题
private fun makeOkHttpClient(httpLoggingInterceptor: HttpLoggingInterceptor): OkHttpClient {
return OkHttpClient.Builder()
.addInterceptor(httpLoggingInterceptor)
.addNetworkInterceptor { chain ->
chain.proceed(
chain.request()
.newBuilder()
.header("User-Agent", "Mozilla/5.0 (X11; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0")
.build()
)
}
.connectTimeout(120, TimeUnit.SECONDS)
.readTimeout(120, TimeUnit.SECONDS)
.build()
}