Bho*_*att 5 android get url-encoding retrofit retrofit2
我正在尝试从服务器获取列表。问题是,Retrofit 2.0 正在将我的请求转换为我的服务器无法接受的编码请求。所以我需要从请求中删除自动编码。我已经通过提出请求尝试了几乎所有解决方案encoded = true/false,但它根本不起作用。
现在的情况是:“POST”请求一切正常。有没有类似的方法可以通过“GET”调用来做到这一点?由于编码的 URL,GET 请求给我“400 Bad Request”。GET 中编码的主要问题。
后调用:
工作岗位
@FormUrlEncoded
@POST("login")
Call<UserBean> getLogin(@FieldMap Map<String,String> params);
Run Code Online (Sandbox Code Playgroud)
帖子编码 URL:(工作)
https://---.---.com/---/webservice/login?
jhobject=%7B%22data%22%3A%22%7B%5C%22username%5C%22%3A%5C%22abz%40cbv.com%5C%22%2C%5C%22password%5C%22%3A%5C%221234%40567%5C%22%2C%5C%22manufacturername%5C%22%3A%5C%22Android%5C%22%2C%5C%22modelname%5C%22%3A%5C%22XT1068%5C%22%2C%5C%22osversion%5C%22%3A%5C%223.4.42-g0a0ded4%5C%22%2C%5C%22countrycode%5C%22%3A%5C%22in%5C%22%2C%5C%22appversion%5C%22%3A%5C%221.0%5C%22%2C%5C%22imei%5C%22%3A%5C%22353325060286683%5C%22%2C%5C%22appfor%5C%22%3A%5C%22Sony%5C%22%7D%22%2C%22enc%22%3A%220%22%7D
Run Code Online (Sandbox Code Playgroud)
不工作 获取
@Headers({"Content-Type:application/x-www-form-urlencoded"})
@GET("getlisting")
Call<MyBean> getListing(@QueryMap Map<String,String> params);
Run Code Online (Sandbox Code Playgroud)
获取编码的 URL:(不起作用)
https://---.---.com/---/webservice/getlisting?
jhobject=%257B%2522data%2522%253A%257B%2522pageno%2522%253A%25221%2522%252C%2522totalpages%2522%253A%25220%2522%252C%2522recordperpages%2522%253A%252210%2522%252C%2522cstatus%2522%253A%25221%2522%252C%2522reportid%2522%253A%252253%2522%257D%252C%2522enc%2522%253A%25220%2522%252C%2522token%2522%253A%252209046d74-c047-4534-be0b-050dadad18b8%257E%257E23717%2522%257D
Run Code Online (Sandbox Code Playgroud)
小智 0
你正在做双重编码
在帖子中
jhobject=%7B
Run Code Online (Sandbox Code Playgroud)
在得到
jhobject=%257B
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3711 次 |
| 最近记录: |