Ios 在Swift中执行POST请求
我正在尝试这样做:Ios 在Swift中执行POST请求,ios,post,nsurlconnection,swift,Ios,Post,Nsurlconnection,Swift,我正在尝试这样做: NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]]; request.HTTPMethod = @"POST"; NSString *stringData = @"some data"; NSData *requestBodyData = [stringData dataUsingEncoding:NSU
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:line抛出了第一个带有“无法将表达式的类型NSData转换为类型NSData”的石头
是否有人愿意称重?
stringByAddingPercentEscapesUsingEncoding
返回字符串而不是NSData对象。根据答案,您需要使用此选项转换为NSData实例:
let data = (anySwiftString as NSString).dataUsingEncoding(NSUTF8StringEncoding)
使用发送HTTP POST请求
let request = NSMutableURLRequest(URL: NSURL(string: "https://www.google.com")!)
request.HTTPMethod = "POST"
let body = "email=\(email)&access_token=\(token)"
request.HTTPBody = body.dataUsingEncoding(NSUTF8StringEncoding)
Alamofire.request(request).responseJSON { response in
NSLog("response.request: \(response.request)") // original URL request
NSLog("esponse.response: \(response.response)") // URL response
switch response.result {
case .Success:
NSLog("Validation Successful")
case .Failure(let error):
// Logout
NSLog("\(error), \(String(data: response.data!, encoding: NSUTF8StringEncoding))")
return
}
// Save sip account information to NSUserdefaults
if let json = response.result.value as? [String: AnyObject]{
// Do your stuff
}
}
使用阿拉莫菲尔有什么好处?