gpt4 book ai didi

ios - RD 客户端 POST 方法和特殊字符

转载 作者:行者123 更新时间:2023-11-28 23:03:08 27 4
gpt4 key购买 nike

我遇到了一个奇怪的行为。我使用以下代码发送 HTTP使用 POST 方法向服务器请求

[[RKClient sharedClient] post:[NSString stringWithFormat:@"api"]
params:aDict
delegate:self];

保存值的字典如下:

NSDictionary *comment = [NSDictionary dictionaryWithObjects:[NSArray
arrayWithObjects:@"wallcomment", [self.wall
valueForKey:@"wallMessageId"], [self.textView text], nil]
forKeys:
[NSArray arrayWithObjects:@"a01call", @"a01wall_message_id",
@"a01comment", nil]];

当[self.textView text]填写带重音的法语单词时服务器收到错误的编码:“测试@验证特殊角色"

我在发布之前不操作 textview 文本,所以编码也是 UTF8。

当我检查 POST header 时,内容类型没有编码类型。我尝试使用以下方法添加它,但没有添加:

- (void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)header

我没有在文档中看到的任何特殊方法或属性?

我正在使用 RestKit 0.9.3

最佳答案

这样做:

[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"api" delegate:self block:^(RKObjectLoader *loader) {
[loader setAdditionalHTTPHeaders:[NSDictionary dictionaryWithObjectsAndKeys:@"application/x-www-form-urlencoded;charset=UTF-8", @"Content-Type", nil]];
}];

如果需要,请不要忘记添加其他 header 。

我在查看 RestKit 代码时注意到的另一件事,RKObjectManager 第 222 行:

loader.method = RKRequestMethodGET;

所以不要感到惊讶,方法是 GET,而不是 POST。如果您确实需要 POST(我认为您不需要),请更改 block 中的方法。

关于ios - RD 客户端 POST 方法和特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9735186/

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