我花了大约 16 个小时研究和尝试不同的代码更改,但无法弄清楚这一点。我有一个使用 ASIHTTPrequest 使用网站的 iOS 应用程序:
-(void)refresh{
NSURL *url = [NSURL URLWithString@"http://undignified.podbean.com/"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request startSynchronous];
NSString *response = [request responseString];
NSLog(@"%@",response];
}
上面的代码返回网站源代码并通过 NSLog 将其输出到控制台。我试图实现的目标是通过“responseString”搜索以 *.mp3 结尾的 URL,将它们加载到数组中,最后将 mp3 URL 加载到 UITableView 中。
总结一下:
- 使用 ASIHTTPRequest 消费网站数据
- 尝试在 responseString 中搜索具有 *.mp3 扩展名的所有链接并将它们加载到数组中。
- 将解析后的链接添加到 UITableView。
我想在这个路口我已经尝试了太多的事情来做出任何合理的判断。任何朝着正确方向提出的建议或推动都将不胜感激。
以下是响应 (HTML) 的示例。请注意,这只是一个片段,因为整个 HTML 源代码相当大,但这包括 mp3 文件的一部分:
a href="http://undignified.podbean.com/mf/web/ih2x8r/UndignifiedShow01.mp3" target="new"><img src="http://www.podbean.com/wp-content/plugins/podpress/images/audio_mp3_button.png" border="0" align="top" class="podPress_imgicon" alt="icon for podbean" /></a> Standard Podcasts [00:40:24m]: <a href="javascript:void(null);" onclick="podPressShowHidePlayerDiv('podPressPlayerSpace_2649518', 'mp3Player_2649518_0', '300:30', 'http://undignified.podbean.com/mf/play/ih2x8r/UndignifiedShow01.mp3'); return false;"><span id="podPressPlayerSpace_2649518_label_mp3Player_2649518_0">Play Now</span></a> | <a href="javascript:void(null);" onclick="window.open ('http://undignified.podbean.com/wp-content/plugins/podpress/podpress_backend.php?podPressPlayerAutoPlay=yes&standalone=yes&action=showplayer&pbid=0&b=458211&id=2649518&filename=http://undignified.podbean.com/mf/play/ih2x8r/UndignifiedShow01.mp3', 'podPressPlayer', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=660,height=360'); return false;">Play in Popup</a> | <a href="http://www.podbean.com/podcast-download?b=458211&f=http://undignified.podbean.com/mf/web/ih2x8r/UndignifiedShow01.mp3" target="26108">Download</a> | <a href="http://www.podbean.com/podcast-players?b=458211&p=2649518&f=http://undignified.podbean.com/mf/play/ih2x8r/UndignifiedShow01.mp3" target="38148">Embeddable Player</a> | <a>Hits (214)</a><br/