我有一些代码可以将 url 发送到远程服务器。如果我不对 url 进行编码,它会完美运行。但是,如果我对 url 进行编码,它就不起作用。所以我很确定我编码 url 查询字符串的方式有问题。
这是我的代码:
// URL TO BE SUBMITTED.
NSString *urlString =
@"http://www.mydomain.com/test.php?";
// NOW CREATE URL QUERY STRING
NSString *unencoded_query_string =
@"name=%@&user_id=%@&person_name=%@&person_email=%@&privacy=%@";
// PUT PREVIOUSLY SET VALUES INTO THE QUERY STRING
NSString *unencoded_url_with_params =
[NSString stringWithFormat:unencoded_query_string, business , user_id , name , email , privacy_string];
// ENCODE THE QUERY STRING
NSString *escapedString = (__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(__bridge CFStringRef)unencoded_url_with_params,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
// NOW APPEND URL TO QUERY STRING
NSString *full_encoded_url_string =
[urlString stringByAppendingString: escapedString];
然后我将此字符串发送到服务器,服务器确实调用了正确的请求文件,但无法读取参数。
有谁知道我在这里做错了什么?顺便说一句,我正在使用弧。
谢谢!