gpt4 book ai didi

使用 %40 而不是 @ 改造 POST 请求发送电子邮件字段

转载 作者:行者123 更新时间:2023-12-04 00:08:02 24 4
gpt4 key购买 nike

我试图找出一种方法来阻止 Retrofit 对我传递的电子邮件地址进行编码以发出 POST 请求。这是我的POST界面

@POST("/security/oauth/token")
@FormUrlEncoded
void getAccessToken(@Field("client_id") String clientId,
@Field("client_secret") String clientSecret,
@Field("username") String username,
@Field("password") String password,
@Field("grant_type") String grantType, Callback<AccessToken> cb);

当我提出请求时,改造将这些字段发送为
client_id=test&client_secret=cajcckkcaaa&username=androidtest12%40gmail.com&password=Password23&grant_type=password

这里的罪魁祸首是电子邮件地址,它从 androidtest12@gmail.com 更改为 androidtest12%40gmail.com 导致服务器错误。

预先感谢您的帮助。

最佳答案

您需要设置encodeValue = false使您的用户名字段起作用,因为它正在被编码。他们在 Retrofit Javadoc 上记录了这一点。 .下面是一个使用您的数据的示例。

@POST("/security/oauth/token")
@FormUrlEncoded
void getAccessToken(@Field("client_id") String clientId,
@Field("client_secret") String clientSecret,
@Field(encodeValue = false, value = "username") String username,
@Field("password") String password,
@Field("grant_type") String grantType, Callback<AccessToken> cb);

关于使用 %40 而不是 @ 改造 POST 请求发送电子邮件字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29153842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com