gpt4 book ai didi

iphone - 帮助破译 iPhone 应用程序代码

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:45 26 4
gpt4 key购买 nike

有人可以帮我破译这段代码吗?它在用户按下按钮提交数据时执行,或者在本例中为 iPhone 应用程序中的“问题”。

我知道它将字符串发送到我在服务器上托管的 phpscript.php,但我不熟悉的是正在发生的一长串命令。

NSUserDefaults *p = [NSUserDefaults standardUserDefaults];
[p setObject:[NSString stringWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://website.com/phpscript.php?user=%@&pass=%@&cat=%@&sub=%@&body=%@",[[p valueForKey:@"user"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],[[p valueForKey:@"pass"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],sport,@"",[[tvQ.text stringByReplacingOccurrencesOfString:@"\n" withString:@" "] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]]]] forKey:@"q"];

最佳答案

分解它会更容易一些。

NSUserDefaults *p = [NSUserDefaults standardUserDefaults];
NSString* string1 = [[p valueForKey:@"user"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString* string2 = [[p valueForKey:@"pass"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString* string3 = [[tvQ.text stringByReplacingOccurrencesOfString:@"\n" withString:@" "] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString* urlString = [NSString stringWithFormat:@"http://website.com/phpscript.php?user=%@&pass=%@&cat=%@&sub=%@&body=%@",string1,string2,sport,@"",string3];
id val1 = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];
[p setObject:val1 forKey:@"q"];

所以 p 是一个从用户默认值加载的字典对象,看起来像一些可能从上次运行应用程序时保存的登录凭据。

stringByAddingPercentEscapesUsingEncoding 是一种标准方法,可以安全地在请求中传输字符,例如“”(空格)或“%”。它应用于字符串以确保请求将像预期的那样到达服务器。

String1 和 String2 大概是用户名和密码。我猜 String3 是查询的主体。

构建 URL 时,它会执行由 urlString 表示的查询(代码将在此时暂停,同时执行提取 - 希望整个 block 已经在辅助线程上)。查询的结果存储在字典 p 中,可以通过键 @"q"访问。

显式处理 & 符号:

[myString replaceOccurrencesOfString:@"&" withString:@"%26" options:NSCaseInsensitiveSearch range:wholeString];

这个方法可以应用于任何字符串——如果它被应用于同一个字符串两次,那么第二次它什么都不做。

关于iphone - 帮助破译 iPhone 应用程序代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3454027/

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