zoukankan      html  css  js  c++  java
  • iap验证。

    -(BOOL)putStringToItunes:(NSData*)iapData{//用户购成功的transactionReceipt

    //    base64EncodedString

        NSString*encodingStr = [iapData base64Encoding];

        

        NSString *URL=@"https://sandbox.itunes.apple.com/verifyReceipt";

        //https://buy.itunes.apple.com/verifyReceipt

        NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];// autorelease];

        [request setURL:[NSURL URLWithString:URL]];

        [request setHTTPMethod:@"POST"];

        //设置contentType

        [request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

        //设置Content-Length

        [request setValue:[NSString stringWithFormat:@"%d", [encodingStr length]] forHTTPHeaderField:@"Content-Length"];

        

        NSDictionary* body = [NSDictionary dictionaryWithObjectsAndKeys:encodingStr, @"receipt-data", nil];

    //    SBJsonWriter *writer = [SBJsonWriter new];

        [request setHTTPBody:[[body JSONRepresentation] dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]];

    //    [request setHTTPBody:[[writer stringWithObject:body] dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]];

        NSHTTPURLResponse *urlResponse=nil;

        NSError *errorr=nil;

        NSData *receivedData = [NSURLConnection sendSynchronousRequest:request

                                                     returningResponse:&urlResponse

                                                                 error:&errorr];

        

        //解析

        NSString *results=[[NSString alloc]initWithBytes:[receivedData bytes] length:[receivedData length] encoding:NSUTF8StringEncoding];

        DebugLog(@"-results-  %@",results);

        NSDictionary*dic = [results JSONValue];

        if([[dic objectForKey:@"status"] intValue]==0){//注意,status=@"0" 是验证收据成功

            return true;

        }

        return false;

    }

    这个验证不建议客户端来做,应该由服务端来做。

    但是我这边情况是服务端验证老是不成功,为了证明我传给他的凭证没有问题,找来了这个方法,证明我传的凭证没有问题。

  • 相关阅读:
    数据结构之 移位操作
    大话设计模式之外观模式
    JSP的内置对象(application)
    从键盘输入一个整数(1~20) 则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。
    linux线程应用
    【网络挖掘:成就与未来方向】之网络挖掘应用程序与相关概念
    Thinking in Java之匿名内部类
    [Go] map
    [跟着hsp步步学习系统]oracle培训学习集锦全360度扫描(2)
    HDU3791:二叉搜索树
  • 原文地址:https://www.cnblogs.com/yunis/p/4151012.html
Copyright © 2011-2022 走看看