【发布时间】:2014-03-14 15:34:33
【问题描述】:
curl 方法如下所示,我正在向 AFNetworking 添加自定义标头,如下所示。但是 curl 方法有效,但 AFNetworking 无效。我做错了什么?
卷曲方法:
curl https://svcs.sandbox.paypal.com/AdaptivePayments/PaymentDetails \
-H "X-PAYPAL-SECURITY-USERID: someUserId" \
-H "X-PAYPAL-SECURITY-PASSWORD: somePassword" \
-H "X-PAYPAL-SECURITY-SIGNATURE: someSignature" \
-H "X-PAYPAL-APPLICATION-ID: someAPPID" \
-H "X-PAYPAL-REQUEST-DATA-FORMAT: NV" \
-H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV" \
-d "payKey=someAPPKEY&requestEnvelope.errorLanguage=en_US"
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager.requestSerializer setValue:kPaypalClientId forHTTPHeaderField:@"X-PAYPAL-SECURITY-USERID"];
[manager.requestSerializer setValue:kPaypalPassword forHTTPHeaderField:@"X-PAYPAL-SECURITY-PASSWORD"];
[manager.requestSerializer setValue:kPaypalSignature forHTTPHeaderField:@"X-PAYPAL-SECURITY-SIGNATURE"];
[manager.requestSerializer setValue:appId forHTTPHeaderField:@"X-PAYPAL-APPLICATION-ID"];
[manager.requestSerializer setValue:@"NV" forHTTPHeaderField:@"X-PAYPAL-REQUEST-DATA-FORMAT"];
[manager.requestSerializer setValue:@"json" forHTTPHeaderField:@"X-PAYPAL-RESPONSE-DATA-FORMAT"];
[manager GET:@"https://svcs.sandbox.paypal.com/AdaptivePayments/PaymentDetails" parameters:@{@"payKey": payKey, @"requestEnvelope.errorLanguage": @"en_US"} success:^(AFHTTPRequestOperation *operation, id responseObject) {
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
我没有从失败块中得到错误。但这返回为 responseObject 但如果我使用上面的 curl 方法。它的反应是成功。和header的值是一样的:
{
error = (
{
category = Application;
domain = PLATFORM;
errorId = 520003;
message = "Authentication failed. API credentials are incorrect.";
severity = Error;
subdomain = Application;
}
);
responseEnvelope = {
ack = Failure;
build = 9641252;
correlationId = 8f5818a80ec65;
timestamp = "2014-02-14T22:37:30.448-08:00";
};
}
【问题讨论】:
-
你能添加
NSError的描述吗? -
没有网络错误。只是返回了贝宝错误。这是否意味着该值未发送到贝宝服务器?
-
你能把这行的值贴出来吗?
NSLog(@"Error: %@", error); -
您正在设置正确的标题,响应是什么?
-
@jbouaziz 我没有从失败块中得到错误。
标签: ios iphone curl paypal afnetworking