123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- #import "AllPayRequest.h"
- #import "commonCrypto/CommonDigest.h"
- @implementation AllPayRequest
- +(void)postRequestWithURL:(NSString *)urlStr
- paramters:(NSMutableDictionary *)paramters
- succeed:(FinishBlock)succeedBlock
- failed:(FailedBlock)failedBlock
- {
- AllPayRequest * httpRequest = [[AllPayRequest alloc]init];
- httpRequest.finishBlock = succeedBlock;
- httpRequest.failedBlock = failedBlock;
-
- NSURL * url = [NSURL URLWithString:urlStr];
- NSMutableURLRequest * request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30];
-
- NSString * strField;
- if (paramters.count>0)
- {
- strField = [self dictFieldInfo:paramters];
- }else
- {
- strField = @"";
- }
-
- NSData * data = [strField dataUsingEncoding:NSUTF8StringEncoding];
- [request setHTTPBody:data];
- [request setHTTPMethod:@"POST"];
-
- NSURLConnection * connection = [[NSURLConnection alloc]initWithRequest:request delegate:httpRequest];
- [connection start];
- }
- +(NSString *)dictFieldInfo:(NSMutableDictionary*)dict
- {
- NSMutableString * Url = [NSMutableString string];
- NSArray * keys = [dict allKeys];
- for (int i = 0; i < keys.count; i++)
- {
- NSString * string;
- if (i == 0)
- {
- string = [NSString stringWithFormat:@"%@=%@", keys[i],dict[keys[i]]];
- }else{
-
- string = [NSString stringWithFormat:@"&%@=%@", keys[i],dict[keys[i]]];
- }
- [Url appendString:string];
- }
- return Url;
- }
- - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
- {
- if (!self.resultData)
- {
- self.resultData = [[NSMutableData alloc]init];
- }else
- {
- [self.resultData setLength:0];
- }
- }
- - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
- {
- [self.resultData appendData:data];
- }
- - (void)connectionDidFinishLoading:(NSURLConnection *)connection
- {
- if (self.finishBlock) {
- self.finishBlock(self.resultData);
- }
- }
- - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
- {
- NSLog(@"network error : %@", [error localizedDescription]);
-
- if (self.failedBlock) {
- self.failedBlock([error localizedDescription]);
- }
- }
- - (id)dictionaryOrArrayWithJSONSString:(NSString *)jsonString
- {
- if (jsonString == nil)
- {
- return nil;
- }
-
- NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
- return [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves | NSJSONReadingMutableContainers error:nil];
- }
- #pragma mark - MD5加密
- +(NSString *) md5: (NSString *) inPutText
- {
- const char *cStr = [inPutText UTF8String];
-
- unsigned char result[CC_MD5_DIGEST_LENGTH];
-
- CC_MD5(cStr, (CC_LONG)strlen(cStr), result);
-
-
- return [[NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
- result[0], result[1], result[2], result[3],
- result[4], result[5], result[6], result[7],
- result[8], result[9], result[10], result[11],
- result[12], result[13], result[14], result[15]
- ] lowercaseString];
-
- }
- @end
|