在Swift中执行POST请求 [英] Perform POST request in Swift
本文介绍了在Swift中执行POST请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试这样做:
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]];
request.HTTPMethod = @"POST";
NSString *stringData = @"some data";
NSData *requestBodyData = [stringData dataUsingEncoding:NSUTF8StringEncoding];
request.HTTPBody = requestBodyData;
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
这是我到目前为止:
var url = NSURL(string: "some url")
var request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
var dataString = "some data"
var requestBodyData: NSData = dataString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding) as NSData
request.HTTPBody = requestBodyData
var connection = NSURLConnection(request: request, delegate: self, startImmediately: false)
println("sending request...")
connection.start()
然而,var requestBodyData:行抛出了第一块无法将表达式类型NSData转换为类型NSData
However, the var requestBodyData: line throws the first stone with "Cannot convert the expression's type NSData to type NSData"
有人想要权衡吗?
推荐答案
stringByAddingPercentEscapesUsingEncoding
返回一个字符串而不是NSData对象。根据这个答案,您需要使用它来转换为NSData实例:
stringByAddingPercentEscapesUsingEncoding
returns a string instead of an NSData object. According to this answer, you need to use this to convert to an NSData instance:
let data = (anySwiftString as NSString).dataUsingEncoding(NSUTF8StringEncoding)
这篇关于在Swift中执行POST请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文