网上的这个三个类库快要看吐了,SwiftHttp,YYHRquest,AFnetWorking;http请求无非是调用这些类库中的put,get,post,delete,其中需要我们动脑筋的大概就是参数的传递了,
一: get与delete,方式一样,直接在url 后面拼接¶meter就可以了,如http://10.111.11.11:8088/api/?sqlname=GET_ALL&name=dog&password=123
就可以了,当然也可以用类库提供的字典来放参数
//使用的时swiftHttp
var request = HTTPTask() var parameters:Dictionary<String,String>=["name":"dog","password":"123"] request.GET("http://10.111.11.11:8088/api/?sql=GET_ALL", parameters: nil, success: {(response: HTTPResponse) -> Void in if response.responseObject != nil { println("success") } },failure: {(error: NSError, _) -> Void in println("false") })
</pre><pre>
我只能说默默的转换吧
public func POST(url: String, parameters: Dictionary<String,AnyObject> , success:((HTTPResponse) -> Void)!, failure:((NSError, HTTPResponse?) -> Void)!) { //var opt = var opt = self.create(url, method:.POST, parameters: parameters,success: success,failure: failure) if opt != nil { opt!.start() } }
三:我要用YYHRequest这个类库试试,(看起来好山寨的名字,不过好处就是你可以改造他)
func post(strPara:[String],strUserName:String,strPassword:String){ let request = YYHRequest(url: NSURL(string:"http://10.11.11.1:8088/api/?sql=UPDATE1" var parameterStr:String = "" request.method = "POST" //下面这种写法是demo给出来的,然后并没有什么卵用,服务器还是不认识 request.parameters["name"] ="dog" request.parameters["password"] ="123" //这么写服务器真的认识,就是觉得这是json ,我也是醉了 parameterStr="{'name':'dog','password':'123'}" request.parameters[""] = parameterStr request.completionHandler = {response, data, error in } request.loadRequest() }