我试图提出一个@POST
请求。当我发出请求时
@POST("/testAPI")
@Headers("token: rAhUCUo-wz-Sbtwjt1")
@FormUrlEncoded
Call<GetEntires> getEntires(@Field("a")String method,
@Field("session")String SessionId);
我得到响应:站点API的HTML代码,但是当我在特殊程序(Chrome应用程序-ARC)中发出请求时,我得到了正确的响应,它等于API文档中的响应。 API文档中的请求示例:
curl --header "token: EXAMPLETOKEN" --data "a=new_session" https://bnet.i-partner.ru/testAPI/
我在哪里犯错了?
更新: 来自应用ARC的文本中的请求外观:
POST /testAPI/ HTTP/1.1
HOST: bnet.i-partner.ru
token: rAhUCUo-wz-Sbtwjt1
content-type: multipart/form-data; boundary=----WebKitFormBoundaryLA3TDEc7BbGOFNMS
content-length: 256
------WebKitFormBoundaryLA3TDEc7BbGOFNMS
Content-Disposition: form-data; name="a"
get_entries
------WebKitFormBoundaryLA3TDEc7BbGOFNMS
Content-Disposition: form-data; name="session "
tThEPaP7uvGWje176p
------WebKitFormBoundaryLA3TDEc7BbGOFNMS--
服务器的响应:
{
"status": 1,
"data": [
[],
],
}
答案 0 :(得分:0)
对我来说,它有效:
@Multipart
@POST("/testAPI")
fun createPost(@Part("a") post: String?,
@Part("session") post2: String?): Call<Post?>?
我使用了@Part