====== GEO Detect ====== ===== Hulu ===== // https://player.hulu.com/site/dash/308343-site-curiosity/js/app.js Device ID: 190 Device Key: 6ebfc84f3c304217b20fd9a66cb5957f 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 } There are some other errors: { "code": "DJA-400-002", "hci_code": "hulu:playstack:error:dja-400-002", "message": "Invalid kv for server key" } { "code": "DJA-400-003", "hci_code": "hulu:playstack:error:dja-400-003", "message": "Invalid playback config" }