This is an old revision of the document!
GEO Detect
Hulu
Use POST method on https://play.hulu.com/v6/playlist
.
Example JSON:
{ "device_identifier": "10FC0316A4AF419CE8DCEF9262036304:2852", "deejay_device_id": 190, "version": 1, "all_cdn": true, "content_eab_id": "EAB::f74faeff-da38-4810-bc7c-523945fe31b9::61618343::124716002", "region": "US", "xlink_support": false, "device_ad_id": "55905B29-EF6E-CF1F-632F-AA7E35F16CFB", "limit_ad_tracking": false, "ignore_kids_block": false, "language": "en", "guid": "10FC0316A4AF419CE8DCEF9262036304", "rv": 512575, "kv": 450218, "unencrypted": true, "include_t2_revenue_beacon": "1", "cp_session_id": "EB931A32-B581-9128-44CA-9342C27C76D2", "interface_version": "1.9.0", "network_mode": "wifi", "play_intent": "resume", "playback": { "version": 2, "video": { "codecs": { "values": [ { "type": "H264", "width": 1920, "height": 1080, "framerate": 60, "level": "4.2", "profile": "HIGH" } ], "selection_mode": "ONE" } }, "audio": { "codecs": { "values": [ { "type": "AAC" } ], "selection_mode": "ONE" } }, "drm": { "values": [ { "type": "WIDEVINE", "version": "MODULAR", "security_level": "L3" }, { "type": "PLAYREADY", "version": "V2", "security_level": "SL2000" } ], "selection_mode": "ALL" }, "manifest": { "type": "DASH", "https": true, "multiple_cdns": true, "patch_updates": true, "hulu_types": true, "live_dai": true, "multiple_periods": false, "xlink": false, "secondary_audio": true, "live_fragment_delay": 3 }, "segments": { "values": [ { "type": "FMP4", "encryption": { "mode": "CENC", "type": "CENC" }, "https": true } ], "selection_mode": "ONE" } } }
If you didn't set Cookie
in header, it will output this error:
{ "code": "IFS-400-001", "hci_code": "hulu:playstack:error:ifs-400-001", "message": "Could not find token in request" }
For cookie, go to your browser's developer tools → Network → right click an request → Save all as HAR with content.
Then, in the Cookie
section, find _hulu_session
.
Add this to your header, and you will get this:
{ "message": "Geo Rights Block (Bundle not available for client geolocation) - bundle_id: 124716002", "cause": "Roaming Geo", "code": "BYA-403-013", "hci_code": "hulu:playstack:error:bya-403-013", "root_cause_service": null }
Or this:
{ "message": "Anonymous proxy detected", "cause": "Anonymous Proxy", "code": "BYA-403-011", "hci_code": "hulu:playstack:error:bya-403-011", "root_cause_service": null }