小编Sen*_*doa的帖子

使用NSURLSession发送POST请求

更新:找到解决方案.你可以在帖子的最后看到它.

我正在尝试使用远程REST API执行POST请求NSURLSession.我们的想法是使用两个参数发出请求:deviceIdtextContent.

问题是服务器无法识别这些参数.服务器部分正常工作,因为我使用POSTMAN为Google Chrome发送了一个POST,它运行得很好.

这是我现在使用的代码:

NSString *deviceID = [[NSUserDefaults standardUserDefaults] objectForKey:@"deviceID"];
NSString *textContent = @"New note";
NSString *noteDataString = [NSString stringWithFormat:@"deviceId=%@&textContent=%@", deviceID, textContent];

NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
sessionConfiguration.HTTPAdditionalHeaders = @{
                                               @"api-key"       : @"API_KEY",
                                               @"Content-Type"  : @"application/json"
                                               };
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];
NSURL *url = [NSURL URLWithString:@"http://url_to_manage_post_requests"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
request.HTTPBody = [noteDataString dataUsingEncoding:NSUTF8StringEncoding];
request.HTTPMethod = @"POST";
NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { …
Run Code Online (Sandbox Code Playgroud)

objective-c ios nsurlsession

215
推荐指数
5
解决办法
17万
查看次数

使用WhatsApp URL方案在文本旁边发送URL

我正在尝试使用WhatsApp的自定义URL方案发送一些带有URL的文本.为此目的,显然只有一个有效参数text:

NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?text=Hello%2C%20World!"];
Run Code Online (Sandbox Code Playgroud)

当我想将自己的URL附加到该文本时,就会出现问题.我选择使用它编码它:

NSString *encodedURLString = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(
                                                                                  NULL,
                                                                                  (CFStringRef)urlAbsoluteString,
                                                                                  NULL,
                                                                                  (CFStringRef)@"!*'();:@&=+$,/?%#[]",
                                                                                  kCFStringEncodingUTF8 ));
Run Code Online (Sandbox Code Playgroud)

该URL与文本一起发送到WhatsApp,但不会在WhatsApp方面解码:

WhatsApp没有解码URL

有任何想法吗?谢谢!

cocoa objective-c ios whatsapp

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

ios ×2

objective-c ×2

cocoa ×1

nsurlsession ×1

whatsapp ×1