1

我有这个 URL,我正在尝试通过 bit.ly API 来缩短它。这是我的代码

NSString *url = @"http://www.example.com&username=abc&password=123&mode=offline";

NSString *requestStr = [NSString stringWithFormat:@"http://api.bit.ly/v3/shorten?login=%@&apiKey=%@&longUrl=%@&format=txt",login, api_key, url];

    requestStr = [requestStr stringByReplacingOccurrencesOfString:@"&" withString:@"&"];

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:requestStr]];
    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    NSString *response = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];

我得到一个响应的 url,它只对应于http://www.example.com

令人惊讶的是,URL 的 &username=abc&password=123&mode=offline 部分被修剪掉了。仅当我通过 xcode 执行此操作时才会发生这种情况。在网站上,它工作正常。请帮忙。

4

1 回答 1

1
NSString *url = @"https://www.googleapis.com/urlshortener/v1/url?key=UR_KEY";

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [request setHTTPMethod:@"POST"];

    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"UR_LONG_URL",@"longUrl", nil];

    [request setHTTPBody:[[dict JSONRepresentation] dataUsingEncoding:NSUTF8StringEncoding]];

    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    NSString *response = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
于 2013-04-22T12:36:26.210 回答