嗨,我正在尝试将从网页发送的网络请求复制到 iOS 上的应用程序作为练习。问题是,当网页发送包含文本 lang=C++ 的 POST 时,它会将文本编码为 lang=C%2B%2B 此外,发送的数据似乎已损坏,我是否缺少某种编码?NSMutableString
我使用带有 setBody 编码消息的数据发送请求: NSUTF8StringEncoding
,请参见下面的代码:
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
...(URL and so on)...
NSString *contentType = [NSString stringWithFormat:@"application/x-www-form-urlencoded"];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:[data dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
有关应用程序与 Web 服务发送的请求的不同样式的更多信息,请参阅来自 wireshark 的这些屏幕截图,底部图像中突出显示的文本是我想要发送的内容。上图显示了应用程序实际发送的内容,就像现在一样。