【问题标题】:Youtube And the iphone sdkYoutube 和 iphone sdk
【发布时间】:2010-12-16 00:01:00
【问题描述】:

有没有人可以从标准 youtube 链接返回的页面中提取直接电影 url?

【问题讨论】:

  • 我想我已经看到了一个 FireFox 扩展。您可以挖掘扩展程序的源代码。

标签: iphone youtube


【解决方案1】:

NSString *pageString = @"www.youtube.com/watch?v=MOST VIDEOS ARE SUPPORTED"; NSString *agentString = @"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1"; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: [NSURL URLWithString:pageString]]; [request setValue:agentString forHTTPHeaderField:@"User-Agent"]; NSData *data = [ NSURLConnection sendSynchronousRequest:request returningResponse: nil error: nil ];

NSString *page = [[NSString alloc] initWithBytes: [data bytes] length:[data length] encoding: NSUTF8StringEncoding];

NSRange range1 = [page rangeOfString:@"ajax?v="];
NSRange range2 = [page rangeOfString:@"&action_get_comments"];


NSUInteger lok = range1.location + range1.length;
NSRange finRange = NSMakeRange(lok, range2.location - lok);
NSString *subString3 = [page substringWithRange:finRange];


range1 = [page rangeOfString:@"\"t\": \""];// "t":"
range2 = [page rangeOfString:@"\", \"rv.6.id\":"];// ", "rv.6.id":

lok = range1.location + range1.length;
finRange = NSMakeRange(lok, range2.location - lok);
NSString *subString4 = [page substringWithRange:finRange];


NSString *demoURL = [NSString stringWithFormat:@"http://www.youtube.com/get_video?video_id=%@&t=%@&fmt=18",subString3,subString4];

player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:demoURL]];
[[NSNotificationCenter defaultCenter]
 addObserver: self
 selector: @selector(myMovieFinishedCallback:)
 name: MPMoviePlayerPlaybackDidFinishNotification
 object: player];

[player play];

【讨论】:

    【解决方案2】:

    如果没有标准支持的 API,您可以通过查看众多网站之一(例如 kipvid)的方式来尝试找出它。但这当然会随着时间而改变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-17
      • 2011-05-13
      • 1970-01-01
      • 2011-09-18
      • 1970-01-01
      相关资源
      最近更新 更多