目前我有一个字符串,我想POST到一个URL。
除非遇到像“&”这样的特殊字符,否则它的效果非常好。它将POST之后发布的其他数据。例如,我在品牌文字中有一个字符串“Chang& hong”,通过选择模型值取决于品牌文本我将URL解析为
post=[NSString stringWithFormat:@"http://moneytree.com.au/rest-webservice/rest/&Brand=%@",StrbrandSelect1];
NSURL *url;
url = [NSURL URLWithString:[post
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSMutableURLRequest *RequestSubject=[[NSMutableURLRequest alloc]init];
[RequestSubject setURL:url];
[RequestSubject setHTTPMethod:@"POST"];
NSLog(@"RequestSubject %@",RequestSubject);
Typedata1 = [NSURLConnection sendSynchronousRequest:RequestSubject
returningResponse:Nil error:Nil];
if (RequestSubject)
{
NSDictionary *Dictjson = [NSJSONSerialization
JSONObjectWithData:Typedata1
options:kNilOptions
error:nil];
NSLog(@"The JSON outPut is:%@",Dictjson);
NSLog(@"The Array Count is: %d",[Dictjson count]);
但数组计数为:0
选择数据取决于品牌“Chang& hong”
我需要输出数据取决于品牌字符串Model Text - “Plasma”和“LCD”。
请帮帮我。
答案 0 :(得分:0)
发送网址时,某些字符“不允许”或具有其他含义。例如,每个空格应为%20,例如“&” sign将是%26,否则它被服务器解释为转到下一个变量,就像你不会使用“/”符号一样,因为浏览器会将它误认为是指向其他地方的链接。如果您发送Brand = Chang%20&%20hong,服务器会在& 20之后处理该部分。作为一个新变量。这就是为什么你用Chang%20%26%20hong代替它。
使用您使用的网址的另一个示例:
?CountryName=Australia&appliance=Television&Brand=Chang%20%26%20hong
字面'&'标志用于分隔服务器的不同变量,在这种情况下:CountryName,appliance和Brand。当你使用文字'&'在你的消息中,你认为%20hong是一个新的变量。