POST request using application/x-www-form-urlencoded POST request using application/x-www-form-urlencoded ios ios

POST request using application/x-www-form-urlencoded


Try like this code

Objective C

NSString *post =[NSString stringWithFormat:@"AgencyId=1&UserId=1&Type=1&Date=%@&Time=%@&Coords=%@&Image=h32979`7~U@)01123737373773&SeverityLevel=2",strDateLocal,strDateTime,dict];NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];NSString *postLength = [NSString stringWithFormat:@"%d",[postData length]];NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://google/places"]]];[request setHTTPMethod:@"POST"];[request setValue:postLength forHTTPHeaderField:@"Content-Length"];[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];[request setHTTPBody:postData];NSError *error;NSURLResponse *response;NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];NSString *str=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];

Swift 2.2

var post = "AgencyId=1&UserId=1&Type=1&Date=\(strDateLocal)&Time=\(strDateTime)&Coords=\(dict)&Image=h32979`7~U@)01123737373773&SeverityLevel=2"var postData = post.dataUsingEncoding(NSASCIIStringEncoding, allowLossyConversion: true)!var postLength = "\(postData.length)"var request = NSMutableURLRequest()request.URL = NSURL(string: "http://google/places")!request.HTTPMethod = "POST"request.setValue(postLength, forHTTPHeaderField: "Content-Length")request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")request.HTTPBody = postDataNSError * errorNSURLResponse * responsevar urlData = try! NSURLConnection.sendSynchronousRequest(request, returningResponse: response)!var str = String(data: urlData, encoding: NSUTF8StringEncoding)

Swift 3.0

let jsonData = try? JSONSerialization.data(withJSONObject: kParameters)    let url: URL = URL(string: "Add Your API URL HERE")!    print(url)    var request: URLRequest = URLRequest(url: url)    request.httpMethod = "POST"    request.httpBody = jsonData    request.setValue(Constant.UserDefaults.object(forKey: "Authorization") as! String?, forHTTPHeaderField: "Authorization")    request.setValue(Constant.kAppContentType, forHTTPHeaderField: "Content-Type")    request.setValue(Constant.UserAgentFormat(), forHTTPHeaderField: "User-Agent")    let task = URLSession.shared.dataTask(with: request, completionHandler: { data, response, error in        if data != nil {            do {                let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! NSDictionary                print(json)            } catch let error as NSError {                print(error)            }        } else {            let emptyDict = NSDictionary()        }    })    task.resume()

Swift 4

let headers = [            "Content-Type": "application/x-www-form-urlencoded"        ]    let postData = NSMutableData(data: "UserID=351".data(using: String.Encoding.utf8)!)    let request = NSMutableURLRequest(url: NSURL(string: "Add Your URL Here")! as URL,                                      cachePolicy: .useProtocolCachePolicy,                                      timeoutInterval: 10.0)    request.httpMethod = "POST"    request.allHTTPHeaderFields = headers    request.httpBody = postData as Data    let session = URLSession.shared    let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in        if (error != nil) {            print(error!)        } else {            let httpResponse = response as? HTTPURLResponse            print(httpResponse!)            do {                let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments)                print(json)            } catch {                print(error)            }        }    })    dataTask.resume()

Alamofire

Alamofire.request("Add Your URL Here",method: .post, parameters: ["CategoryId": "15"])        .validate(contentType: ["application/x-www-form-urlencoded"])        .responseJSON { (response) in            print(response.result.value)    }

I hope this code useful for you.


Swift 4

let params = ["password":873311,"username":"jadon","client_id":"a793fb82-c978-11e9-a32f-2a2ae2dbcce4"]let jsonString = params.reduce("") { "\($0)\($1.0)=\($1.1)&" }.dropLast()let jsonData = jsonString.data(using: .utf8, allowLossyConversion: false)!urlRequest.addValue("application/x-www-form-urlencoded", forHTTPHeaderField:"Content-Type")urlRequest.httpBody  = jsonData 


@fatihyildizhan

not enough reputation to directly comment your answer therefore this answer.

Swift 1.2

let myParams = "username=user1&password=12345"let postData = myParams.dataUsingEncoding(NSASCIIStringEncoding, allowLossyConversion: true)let postLength = String(format: "%d", postData!.length)var myRequest = NSMutableURLRequest(URL: self.url)myRequest.HTTPMethod = "POST"myRequest.setValue(postLength, forHTTPHeaderField: "Content-Length")myRequest.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")myRequest.HTTPBody = postDatavar response: AutoreleasingUnsafeMutablePointer<NSURLResponse?> = nil

This code above just works fine in my case.