含有换行符的NSMutableurlrequest http headerparameter会丢失

时间:2012-02-03 00:52:49

标签: iphone objective-c rest http-headers nsurlrequest

正如标题所说,无法让它发挥作用......

代码没什么奇怪的:

NSMutableURLRequest *request = [self prepareRequest:inUrl];
[request addValue:[NSString stringWithFormat:@"%@", note] forHTTPHeaderField:NOTE];
....
[[[NSURLConnection alloc] initWithRequest:request delegate:self] autorelease];

所以,这一切都运行正常,它到达我的tomcat java spring服务很好。如果“note”字符串包含换行符,则除外!当我在客户端调试日志时看起来很好,但在我的服务器上参数为NULL。

不确定我是否需要urlencode或逃避某些事情?

有人有任何指示?感谢输入。

1 个答案:

答案 0 :(得分:0)

确保在向服务器发送数据时使用正确的模式。

[request setHTTPMethod:@"POST"];

默认的HTTP方法是“GET”

更新

以下是我通常如何向服务器发送数据。参数可能因内容类型而异。

    NSData* data = [bodyString NSUTF8StringEncoding];
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:data];
    [request setValue:[NSString stringWithFormat:@"%d", [data length]] forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"text/xml" forHTTPHeaderField:@"Content-Type"];