NSMutableString *postBody = [NSMutableString string];
for (NSString *paramKey in self.dict)
{
NSString *value = self.dict[paramKey];
NSString *encodeValue = [value URLEncodedFormStringUsingEncoding:NSUTF8StringEncoding];
NSInteger length = [postBody length];
NSString *paramFormat = (length == 0 ? @"%@=%@" : @"&%@=%@");
[postBody appendFormat:paramFormat,paramKey,encodeValue];
}
DLog(@"----->body:%@",postBody);
NSData *postData = [postBody dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url]];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postData];
[self.webView loadRequest:request];
#import "NSString+XYURLAdditions.h"
@implementation NSString (XYURLAdditions)
/** 用于URL参数编码保留元字符串内容(保留特殊字符) */
- (NSString *)URLEncodedFormStringUsingEncoding:(NSStringEncoding)enc {
NSString *escapedStringWithSpaces = [self percentEscapedStringWithEncoding:enc additionalCharacters:@"&=+" ignoredCharacters:nil];
return escapedStringWithSpaces;
}
/** 用于URL参数编码(特殊字符) */
- (NSString *)percentEscapedStringWithEncoding:(NSStringEncoding)enc additionalCharacters:(NSString *)add ignoredCharacters:(NSString *)ignore {
CFStringEncoding convertedEncoding = CFStringConvertNSStringEncodingToEncoding(enc);
return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)self, (CFStringRef)ignore, (CFStringRef)add, convertedEncoding));
}
@end
@implementation NSString (URLEncode)
- (NSString *)URLEncodedString {
NSString *encodedString = (NSString *)
CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)self, (CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]", NULL, kCFStringEncodingUTF8));
return encodedString;
}
@end
webView发送POST请求方法二
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- http://www.cnblogs.com/smyhvae/p/4006009.html android 5.0...
- ** Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统...
- feign.FeignException:status405reading UserFeignClient#get...