gpt4 book ai didi

iphone - 在 iphone 中使用 url 编码使用 %2b 之前添加 +

转载 作者:太空狗 更新时间:2023-10-30 03:35:12 27 4
gpt4 key购买 nike

我有一个应用程序,点击按钮我传递我的服务器 api 方法,该方法调用 JSON post 方法并将数据保存到服务器数据库。在这里我将我的手机号码和紧急号码保存到服务器数据库。我的手机号码是以字符串格式。在我的手机号码字符串变量中,我的手机号码正在保存,格式为“+90-9491491411”。我正在输入 +,然后是代码,然后是 - 然后是号码,但是当我发送到服务器数据库时我正在删除 - 并将否发送到数据库,但问题出在我的服务器数据库中 + 移动设备未输入我正在输入的内容。可能是什么问题。我正在使用 POST 方法发送请求。这是我的代码

-(void)sendRequest
{

NSString *newstring = txtMobile.text;
mobileValue = [newstring stringByReplacingOccurrencesOfString:@"-" withString:@""];
NSLog(@"%@",mobileValue);



NSString *newString1 = txtemergencyprovider.text;
emergencyNumber = [newString1 stringByReplacingOccurrencesOfString:@"-" withString:@""];


NSLog(@"%@",emergencyNumber);
if ([txtEmail.text isEqualToString:@""])
{
post = [NSString stringWithFormat:@"CommandType=new&ApplicationType=%d&FullName=%@&Mobile=%@&EmergencymobileNumber=%@&Latitude=%f&Longitude=%f&City=%@&MobileModel=Apple",applicationtype,txtFullname.text,mobileValue,emergencyNumber,latitude,longitude,txtCity.text];
NSLog(@"%@",post);
}
else {
post = [NSString stringWithFormat:@"CommandType=new&ApplicationType=%d&FullName=%@&Mobile=%@&EmergencymobileNumber=%@&Latitude=%f&Longitude=%f&City=%@&EmailAddress=%@&MobileModel=Apple",applicationtype,txtFullname.text,mobileValue,emergencyNumber,latitude,longitude,txtCity.text,txtEmail.text];
NSLog(@"%@",post);
}


NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSLog(@"%@",postLength);
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://myapi?RequestType=NEW"]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];

NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

if (theConnection) {
webData = [[NSMutableData data] retain];
NSLog(@"%@",webData);
}
else
{

}

}

//在我的手机号码和紧急号码变量中,我的号码是这种格式 '+91986444711' 但是当值输入服务器数据库时 + 被删除。可能是什么问题。

最佳答案

不幸的是,NSString-stringByAddingPercentEscapesUsingEncoding: 不会将加号 (+) 转换为 %2B 因为加号是用于分隔查询参数的有效 URL 字符。这通常意味着它被 Web 服务器转换为空格字符。

替换加号的最简单方法是使用 NSStringstringByReplacingOccurrencesOfString:withString:+ 替换为 %2B。例如:

mobileValue = [mobileValue stringByReplacingOccurrencesOfString:@"+" withString:@"%2B"];

关于iphone - 在 iphone 中使用 url 编码使用 %2b 之前添加 +,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10085533/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com