我想问是否有人尝试过打印 NSMutableURLRequest *request; 的值
这是我的场景,我已经形成了我的 XML 并尝试使用 Firefox Poster 插件发送它,我成功地处理了有效和无效的内容,所以是时候进入 iOS 了,不幸的是,在 iOS 上它似乎无法正常工作,但我总是收到 Bad Request (400) 响应,我怀疑这是由格式错误的 xml 内容引起的;所以我在发送请求之前想检查一下它的形式是否正确。
所以它归结为“我怎样才能打印出(nslog等..)*请求的内容”
示例代码如下:
NSURL *URL = [NSURL URLWithString:@"http://xxx.xxx.xxx.xxx/ps"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];
NSString *msgLength = [NSString stringWithFormat:@"%d", [self.xmlLogin length]];
//NSString *params = [[NSString alloc] initWithFormat:@"%@",[self xmlLogin]];
[request addValue:@"application/xxx.ven.xml" forHTTPHeaderField:@"Content-Type"];
[request addValue:msgLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPMethod:@"POST"];
[request setValue:@"identity" forHTTPHeaderField:@"Accept-Encoding"];
[request setValue:@"windows-1251" forHTTPHeaderField:@"Accept-Charset"];
[request setCachePolicy:NSURLRequestReturnCacheDataElseLoad];
[request setHTTPBody:[[self xmlLogin] dataUsingEncoding:NSUTF8StringEncoding]];
这段代码片段
NSLog(@"Request %@\n",request);
结果到
<NSMutableURLRequest http://xxx.xxx.xxx.xxx/ps>
在做类似的事情时
NSLog(@"Request %@\n",[request HTTPBody]);
结果到
<4c697665 3e383634 30303c2f 54696d65 546f4c69 76653e20 20202020 20202020 20202020 20202020 20202020 20202020 20202020 20202020 20202020 20202020 203c5365 7373696f 6e436f6f 6b69653e 436f6c69 62726961 494d5053 5f333734 36323032 39322e34 38373931 345f3737 33313c2f 53657373 696f6e43 6f6f6b69 653e2020 20202020 20202020 20202020 20202020 20202020 20202020 20202020 20202020 20202020 20202020 3c2f4c6f 67696e2d 52657175 6573743e 3c2f5472 616e7361 6374696f 6e436f6e 74656e74 3e3c2f54 72616e73 61637469 6f6e3e20 20202020 20202020 20202020 20202020 20202020 20202020 20202020 20202020 20202020 20202020 203c2f53 65737369 6f6e3e3c 2f57562d 4353502d 4d657373 6167653e>
我知道这个十六进制值的集合可以转换;如何? (虽然找到如何只是一个愿望清单)
真正的问题归结为请求的内容,我渴望了解如何查看原始内容并检查其是否确实处于正确的形式。
Thanks,