CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 20 Aug 2025 11:24:58 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20130928213119
location: https://web.archive.org/web/20130928213119/https://github.com/jaredholdcroft/jhspotifyengine
server-timing: captures_list;dur=0.886241, exclusion.robots;dur=0.034433, exclusion.robots.policy;dur=0.016073, esindex;dur=0.016380, cdx.remote;dur=31.939480, LoadShardBlock;dur=391.241815, PetaboxLoader3.datanode;dur=148.110192, PetaboxLoader3.resolve;dur=149.671940
x-app-server: wwwb-app210
x-ts: 302
x-tr: 489
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app210; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 302
server: nginx
date: Wed, 20 Aug 2025 11:24:59 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20131226011839
location: https://web.archive.org/web/20131226011839/https://github.com/jaredholdcroft/jhspotifyengine
server-timing: captures_list;dur=0.671389, exclusion.robots;dur=0.025921, exclusion.robots.policy;dur=0.011861, esindex;dur=0.012578, cdx.remote;dur=8.745747, LoadShardBlock;dur=164.551422, PetaboxLoader3.datanode;dur=89.166181, PetaboxLoader3.resolve;dur=390.049566, load_resource;dur=362.908415
x-app-server: wwwb-app210
x-ts: 302
x-tr: 583
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Wed, 20 Aug 2025 11:25:00 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: GitHub.com
x-archive-orig-date: Thu, 26 Dec 2013 01:18:40 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-strict-transport-security: max-age=2592000
x-archive-orig-x-frame-options: deny
x-archive-orig-content-security-policy: default-src *; script-src 'self' https://github.global.ssl.fastly.net https://ssl.google-analytics.com https://collector-cdn.github.com https://analytics.githubapp.com https://embed.github.com https://raw.github.com; style-src 'self' 'unsafe-inline' https://github.global.ssl.fastly.net; object-src 'self' https://github.global.ssl.fastly.net
x-archive-orig-set-cookie: logged_in=no; domain=.github.com; path=/; expires=Mon, 26-Dec-2033 01:18:40 GMT; secure; HttpOnly
x-archive-orig-set-cookie: _gh_sess=BAh7CjoPc2Vzc2lvbl9pZCIlMWFjNjk0YmQzMzAyNWE0OTFjZDgxZjU5YzI0Zjc1ZmM6EnJlZmVycmFsX2NvZGUiNWh0dHA6Ly9naXRodWIuY29tL2phcmVkaG9sZGNyb2Z0L2poc3BvdGlmeWVuZ2luZToNc3B5X3JlcG9JIiNqYXJlZGhvbGRjcm9mdC9KSFNwb3RpZnlFbmdpbmUGOgZFVDoQc3B5X3JlcG9fYXRJdToJVGltZQ1BbxyAKfKCSgk6DW5hbm9fbnVtaQL4AjoNbmFub19kZW5pBjoNc3VibWljcm8iBnY6C29mZnNldGn%2BgI86EF9jc3JmX3Rva2VuSSIxYzF0QnBpN1dFRzNxUG5PTDFJelg4U0s1dVpBcTFxNlhGYXAvZnpEMlQ4Zz0GOwhG--fb2d66fd8102264b9df80a27b732d391e0a396bb; path=/; secure; HttpOnly
x-archive-orig-x-runtime: 36
x-archive-orig-etag: "137942532a6af9b6dd61a32dada33cf6"
x-archive-orig-content-length: 36085
x-archive-orig-x-github-request-id: CFF1EDDC:4E6A:86F0CB8:52BB83EF
x-archive-orig-vary: Accept-Encoding
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: windows-1252
memento-datetime: Thu, 26 Dec 2013 01:18:39 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sat, 28 Sep 2013 21:31:19 GMT", ; rel="prev memento"; datetime="Sat, 28 Sep 2013 21:31:19 GMT", ; rel="memento"; datetime="Thu, 26 Dec 2013 01:18:39 GMT", ; rel="next memento"; datetime="Mon, 11 Jun 2018 01:13:53 GMT", ; rel="last memento"; datetime="Fri, 25 Sep 2020 17:56:21 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: SURV-20131226011754-crawl429/SURV-20131226011754-02236.warc.gz
server-timing: captures_list;dur=0.586990, exclusion.robots;dur=0.021696, exclusion.robots.policy;dur=0.009988, esindex;dur=0.012597, cdx.remote;dur=20.443831, LoadShardBlock;dur=537.617384, PetaboxLoader3.datanode;dur=175.424537, PetaboxLoader3.resolve;dur=493.829140, load_resource;dur=350.872422
x-app-server: wwwb-app210
x-ts: 200
x-tr: 974
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
jaredholdcroft/JHSpotifyEngine · GitHub
public
jaredholdcroft
/
JHSpotifyEngine
Objective-CC
Show File Finder
public
jaredholdcroft
/
JHSpotifyEngine
Spotify Lookup API objective-c wrapper
Fetching latest commit…
Cannot retrieve the latest commit at this time
README.txt
JHSpotifyEngine by Jared Holdcroft (https://www.jaredholdcroft.com) but based on the excellent MGTwitterEngine by Matt Legend Gemmell - https://mattgemmell.com. JHSpotifyEngine is an Objective-C/Cocoa class which allow you to interrogate the Spotify search service. It communicates using the public Spotify metadata search API which you can read about here: https://developer.spotify.com/en/metadata-api/search/. It currently uses NSXMLParser in a way that means it will work in iPhone/iPad apps as well as desktop Cocoa. Usage ===== 1. Copy the relevant source to your project. This is everything in the JHSpotifyEngine subfolder. 2. #import the JHSpotifyEngine.h into whichever class you want to use JHSpotifyEngine from. You will also need to declare that the class implements the JHSpotifyEngineDelevate protocal too. 3. Implement the JHSpotifyEngineDelevate methods: - (void)requestSucceeded:(NSString *)connectionIdentifier; - (void)requestFailed:(NSString *)connectionIdentifier withError:(NSError *)error; - (void)artistsReceived:(NSArray *)artists forRequest:(NSString *)connectionIdentifier; - (void)albumsReceived:(NSArray *)albums forRequest:(NSString *)connectionIdentifier; - (void)tracksReceived:(NSArray *)tracks forRequest:(NSString *)connectionIdentifier; 4. Instantiate and then search away! As with the majority of public API there is a fair usage limit which may see your IP banned for a little while if you overuse the search. I never hit this during development. There is a demo app included that allows you to test it out too. Next ==== 1.1 - Lookup API 1.2 - Allow other XML parsers to be used