我正在使用POST:parameters:constructingBodyWithBlock:
。我相信我试图发送的部分是正确的,但我从服务器获得HTTP 400。因此,整个数据包或其中的一部分是如何被编码的。我有一些关于这个的理论,但在我做任何其他事情之前,我想看看我发送的数据实际上是什么样的。
查看AFNetworking为调试目的实际发送的内容的最佳方法是什么?
我试过很深的追踪,但当我到达AFMultipartBodyStream
时,我迷路了。我不确定如何在不严重破坏AFNetworking的情况下捕获其数据。
答案 0 :(得分:0)
对于后来好奇的人,我发现这在失败或成功阻止中很有效:
NSMutableData *data = [NSMutableData data];
NSInputStream *stream = [operation.request.HTTPBodyStream copy];
[stream open];
BOOL done = NO;
while (!done) {
NSMutableData *buffer = [NSMutableData dataWithLength:1024];
buffer.length = [stream read:buffer.mutableBytes maxLength:buffer.length];
if (buffer.length) {
[data appendData:buffer];
} else {
done = YES;
}
}
[stream close];
结果数据对象可以写入磁盘,但如果参数完全是字符串(而不是二进制文件),则只能直接转换为字符串。