Fra*_*ank 6 iphone objective-c asihttprequest
基本上,我发送一个带有空数据体的POST请求:
ASIHTTPRequest *request [ASIHTTPRequest alloc] init];
[request setURL:[NSURL URLWithString:escapedUrlString]];
[request setRequestMethod:@"POST"];
[request addRequestHeader:@"Content-Type" value:@"application/xml"];
[request startSynchronous];
Run Code Online (Sandbox Code Playgroud)
但我每次都得到这样的回应:
检测到不正确的NSStringEncoding值0x0000.假设NSStringEncodingASCII.将在不久的将来停止这种兼容性映射行为.
我想知道是否必须设置发布值.
我对ASIHTTPRequest包装器没有多少经验,但我可以看到你正在初始化它,alloc:init而我见过的大多数例子都有一个方便的初始化程序,requestWithURL:(NSURL*)url即
ASIHTTPRequest *request = [AIHTTPRequest requestWithURL:escapedUrlString];
Run Code Online (Sandbox Code Playgroud)
我猜这个便利的initaliser也会为你的帖子请求设置一些必要的变量,包括NSStringEnconding.
来自http://allseeing-i.com/ASIHTTPRequest/How-to-use#handling_text_encodings的ASIHTTPRequest文档
处理文本编码
ASIHTTPRequest将尝试从Content-Type标头读取接收数据的文本编码.如果找到文本编码,则会将responseEncoding设置为适当的NSStringEncoding.如果它在标头中找不到文本编码,它将使用defaultResponseEncoding的值(默认为NSISOLatin1StringEncoding).
当您调用[request responseString]时,ASIHTTPRequest将尝试使用responseEncoding作为源编码从其收到的数据创建字符串.
| 归档时间: |
|
| 查看次数: |
5189 次 |
| 最近记录: |