0

我正在尝试将数据从目标 C 发布到服务器,并尝试在其中JSON返回。

我正在查看 Snaphax APIPHP和 Snaphaxpy API,并尝试将其从 PHP 重写为 Objective C。代码的链接是: https ://github.com/tlack/snaphax https://github.com/jasonanovak/ snaphaxpy/blob/master/snaphaxpy.py

我还特别关注:http: //adamcaudill.com/2012/06/16/snapchat-api-and-security/ 但显然这已经过时了

我的代码是:

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://feelinsonice.appspot.com/ph/login"]];
    [request setHTTPMethod:@"POST"];
    [request addValue:@"******testusername******" forHTTPHeaderField:@"username"];
    [request addValue:@"*********" forHTTPHeaderField:@"password"];
    [request addValue:@"M02cnQ51Ji97vwT4" forHTTPHeaderField:@"blob_enc_key"];
    [request addValue:@"false" forHTTPHeaderField:@"debug"];
    [request addValue:@"iEk21fuwZApXlz93750dmW22pw389dPwOk" forHTTPHeaderField:@"secret"];
    [request addValue:@"m198sOkJEn37DjqZ32lpRu76xmw288xSQ9" forHTTPHeaderField:@"static_token"];
    [request addValue:@"Snaphax 4.0.1 (iPad; iPhone OS 6.0; en_US)" forHTTPHeaderField:@"user_agent"];
    [request addValue:@"930cf95a6731dc986ef3bceef6abbaf420e94d8d197dca87b9b47314d8c51b3b" forHTTPHeaderField:@"req_token"];
    [request addValue:@"1355776346532" forHTTPHeaderField:@"timestamp"];


    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];        
    NSString *dataString = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];

    NSLog(@"%@", dataString);

我没有包括一个真正的username/password. 但是,为什么这不起作用,因为我已经复制了我发现并用一种新语言实现的所有内容......

我没有正确发布数据吗?我尝试使用ASIHTTPRequest,但我也无法让它工作......

基于经验的任何建议或想法?

4

2 回答 2

2

在这里查看我的答案:如何异步使用 NSURLConnection?

您可以使用发送 POST 请求

HTTPCachedController *ctrl = [[[HTTPCachedController alloc] initWithRequestType:1 andDelegate:self] autorelease];
[ctrl postRequestToURL:@"https://feelinsonice.appspot.com/ph/login" withData:@"username=user1&password=pass& ... "];

HTTPCachedController 的源代码可以在这里找到:HTTPCachedController

于 2013-07-05T11:59:01.053 回答
0

如果您正在寻找更新的端点等,我编写了一个快速 Python 脚本,您应该能够阅读该脚本以了解某些端点及其所需的参数。一些端点如下:

无耻插件:我现在正在托管 Snapchat API 的包装器,因此您不必在项目中实施加密,您可以确保时间并且您的项目可以更有效率。在这里查看

你还会注意到 JSON 中有很多奇怪的缩写(就像 Adam 说的,Snapchat 的 API 并不是真正为人类消费而构建的),所以我继续为你绘制了这些缩写:

ID: id
Snap ID: c_id
Media Type: m = 0 (pic), 1 (video)
Sent Timestamp: sts
Opened Timestamp: ts
Sender: sn
Recipient: rp
Status: st = 1 (sent to you), 2 (sent by you)
Time: t
Screenshot Count: c

注意:我将在下个月左右使用一些新代码更新该 repo。此外,由于某种原因,对于不同的请求,最新的端点通常在 /ph/ 和 /bq/ 之间变化,所以当你打算使用另一个时不要意外使用一个。

于 2013-11-08T15:56:30.017 回答