我如何使用ASIHTTPRequest表示此CURL?

时间:2011-08-25 20:51:50

标签: iphone curl asihttprequest urbanairship.com

curl -X POST -u "<application key>:<master secret>" \
-H "Content-Type: application/json" \
--data '{"device_tokens": ["<token>"], "aps": {"alert": "Hello!"}}' \
https://go.urbanairship.com/api/push/

我不明白如何将应用程序密钥和主密钥添加到标头中。这是我到目前为止的代码,如果这引发任何解决方案。

ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:[NSURL URLWithString:@"https://go.urbanairship.com/api/push/"]] autorelease];
[request  setRequestMethod:@"POST"];

request.username = @"APPLICATION KEY";
request.password = @"MASTER SECRET";

[request setPostValue:@"MY DEVICE CODE TOKEN" forKey:@"device_tokens"];

[request setPostValue:@"hello" forKey:@"alert"];

[request setDelegate:self];
[request startSynchronous];

当我使用上面的代码时,我会收到“需要授权”的回复,所以我一定做错了。

1 个答案:

答案 0 :(得分:3)

默认情况下,ASIHTTPRequest只会在服务器请求后发送用户名/密码。

你可以通过调用::

让它在没有服务器询问的情况下发送它们
[request setAuthenticationScheme:(NSString *)kCFHTTPAuthenticationSchemeBasic];