您好,匿名用户
随意问技术百科期待您的加入

为什么我用TTURLRequest,post数据在服务器上解析不了啊

+1 投票

我如下代码发送请求,为什么在服务其上。用request.getParamter("name")
那不到值呢?

TTURLRequest *request = [self request:url Delegate:delegate];
[request setHttpMethod:@"POST"];
[request.parameters setObject:@"agassi_yzh" forKey:@"name"];
[request send];
用户头像 提问 2012年 12月1日 @ Taric 上等兵 (184 威望)
分享到:

1个回答

+1 投票
 
最佳答案

自己把问题解决了:

TTURLRequest的parameters中的数据设置的格式是发送文件的报文形式。

如果要用request.getParamter来解析。需要自己构造post的httpbody

这么写:

TTURLRequest *request = [self request:url Delegate:delegate];
	[request setHttpMethod:@"POST"];
    request.contentType=@"application/x-www-form-urlencoded";
	
	NSMutableString* postBodyString = [NSMutableString stringWithString:@""];
	
	if (nil != info) {
		[request setUserInfo:[NSDictionary dictionaryWithDictionary:info]];
	}
	
	if (nil != params) {
		for (NSString *key in [params allKeys]) {
			NSString* p = [NSString stringWithFormat:@"%@=%@",key,[[params valueForKey:key] URLEncodedString]];
			postBodyString = [NSString stringWithFormat:@"%@&%@",postBodyString,p];
		}
	}
	
	NSData* postData = [NSData dataWithBytes:[postBodyString UTF8String] length:[postBodyString length]];
	
	[request setHttpBody:postData];
	
	[request send];
用户头像 回复 2012年 12月1日 @ Irelia 上等兵 (292 威望)
选中 2012年 12月1日 @Taric
提一个问题:

相关问题

0 投票
1 回复 42 阅读
用户头像 提问 2012年 12月1日 @ Rider 上等兵 (281 威望)
0 投票
1 回复 69 阅读
0 投票
1 回复 52 阅读
0 投票
1 回复 39 阅读
0 投票
1 回复 249 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...