iPhone POSTing Django 并获取 CSRF 验证失败

标签 iphone django post django-csrf

我从 iPhone 向 Django 发送 POST 请求,并收到“CSRF 验证失败”,我无法完全理解。 我试图在互联网上找到一个好的解决方案,但我找不到。 有没有简单的方法可以 POST 到 django?

这是我的代码:

   NSString *post =[NSString stringWithFormat:@"s=aaa&r=k&c=gg"];
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:(@"http://localhost:8000/messages/views/")]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSError *error;
NSURLResponse *response;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *data=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(data);

最佳答案

我错了还是在 native 应用程序上使用它没有意义?

在这种情况下,您可以使用此装饰器禁用此保护:

from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
  def view_without_csrf_protection(request):
    pass

关于iPhone POSTing Django 并获取 CSRF 验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8487542/

相关文章:

iphone - 有什么类似于 XNA for Android 或 IOS 的吗?

iphone - NSDateFormatter 内存泄漏

iphone - 我如何确定一个 NSDate(包括时间)是否已经过去

python - 使用表单在 django 模板中传递 url 参数

python - 使用 django.auth 时 Django 1.9.1 NoReverseMatch

java - 如何在用户首选浏览器中打开网页作为 Java 中的发布请求

ios - 快速检测应用程序是在后台还是在前台

python - AbstractUser 模型的 django 1.8.5 迁移失败

node.js - 为什么我的 clickup 创建任务 api 调用不起作用?

ios - NSURLConnection sendAsynchronousRequest 无法从闭包中获取变量