YTKNetwork-2.0 Post application/x-www-form-urlencoded写法 重写buildCustomUrlRequest
/**
请求参数设置
@return <#return value description#>
*/
- (id)requestArgument {
/** **/
return @{
@"appType": @"iosWater",
@"appType1": @"iosWater1"
};
}
- (NSURLRequest *)buildCustomUrlRequest {
//{"appType":"iosWater","appType1":"iosWater1"} 转为 appType=iosWater&appType1=iosWater1
NSString *json = [self.requestArgument yy_modelToJSONString];
json=[json stringByReplacingOccurrencesOfString:@"{\"" withString:@""];
json=[json stringByReplacingOccurrencesOfString:@"\"}" withString:@""];
json=[json stringByReplacingOccurrencesOfString:@"\":\"" withString:@"="];
json=[json stringByReplacingOccurrencesOfString:@"\",\"" withString:@"&"];
NSMutableData *postBody=[NSMutableData data];
[postBody appendData:[json dataUsingEncoding:NSUTF8StringEncoding]];//把bodyString转换为NSData数据
NSURL *serverUrl = [NSURL URLWithString:self.requestUrl];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:serverUrl
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:30];
[request setValue: @"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];//请求头
[request setHTTPMethod:@"POST"];//POST请求
[request setHTTPBody:postBody];//body 数据
return request;
}
//
NSURL *url=[[NSURL alloc]initWithString:@"http://www.musems.com/index.PHP/survey"];
NSMutableData *postBody=[NSMutableData data];
[postBody appendData:[@"date=2016-01-11&time=04:46&location=LOCATION35&name=NAME&a1=1&a2=2&a3=2&a3_remark=a3_remark&a4=1&a5=2&a6=2&a7=1&a8=a8&a9=a9&password=musesurvey&activity_type=KA&product_name1=sdg&product_name2=dg" dataUsingEncoding:NSUTF8StringEncoding]];
NSMutableURLRequest *request=[[NSMutableURLRequest alloc]initWithURL:url
cachePolicy:NSURLRequestReloadIgnoringCacheData
timeoutInterval:20.0f];
[request setHTTPMethod: @"POST"];
[request setValue: @"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postBody];
NSError *error = nil;
NSHTTPURLResponse* urlResponse = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request
returningResponse:&urlResponse error:&error];
NSString *result = [[NSString alloc] initWithData:responseData
encoding:NSUTF8StringEncoding];
NSLog(@"结果:%@",result);