youtube-dl
youtube-dl copied to clipboard
Add support for Adobe Pass Auth TV Provider Cox Communications
- [x] I've verified and I assure that I'm running youtube-dl 2016.12.09
- [x] At least skimmed through README and most notably FAQ and BUGS sections
- [x] Searched the bugtracker for similar issues including closed ones
What is the purpose of your issue?
- [ ] Bug report (encountered problems with youtube-dl)
- [ ] Site support request (request for adding support for a new site)
- [x] Feature request (request for a new functionality)
- [ ] Question
- [ ] Other
Description of your issue, suggested solution and other information
Would like to request support for Cox Communications as an Adobe Pass MSO option. I can provide a Cox login as needed.
I'd rather not post my login details to a public issue. Is there an email address I can send them to?
An aside, adding the label doesn't appear to send a notification so I didn't realize you were waiting on a response.
Well, the label might be misleading. Actually it means "if a developer wants to fix it, an account is necessary". That is, there's no developer working on this yet. Those who are interested will post his/her email address here and ask for credentials.
duplicate of #10871.
I don't think Charter and Cox are the same thing? I'm not sure how this ended up titled with "Charter" references, I didn't realize I'd titled it that. I have no interest in Charter, just Cox.
Hello.
I would also like to request support for Cox Communications as an Adobe Pass MSO option. It is listed on Adobe's list of supported MSO's
<id visible="true">Cox</id>
<displayName visible="true">Cox</displayName>
<logoUrl visible="true">
http://ww2.cox.com/wcm/en/common/image/cox/COX_logo_112x33.png
</logoUrl>
<foregroundLogout>true</foregroundLogout>
<authPerAggregator>false</authPerAggregator>
<iFrameRequired visible="true">false</iFrameRequired>
</mvpd>
I'm running windows but I could try linux so that I can run the uncompiled python.
I read the post about Charter referenced above.
Can I just update the adobepass.py file with the mso_id of Cox?
mso_id = Cox
username_field = IDToken1
password_field = IDToken2
I'd really appreciate a pointer in the right direction here.
Thanks.
Is it really possible to just do a wget https://github.com/rg3/youtube-dl/archive/master.zip
unzip it, edit the youtube-dl-master/youtube_dl/extractor/adobepass.py
to include:
MSO_INFO = {
'Cox': {
'name': 'Cox',
'username_field': 'IDToken1',
'password_field': 'IDToken2',
},
}
and then run
youtube-dl-master/youtube_dl/__main__.py --ap-mso Cox --ap-username [email protected] --ap-password
?
Any chance some super cool python developer/linux kung-fu master can compile a windows binary with the above changes for me to try?
Thanks!
Okay, so I got python for windows and and changed the adobepass.py but the Cox login page uses "username" and "password"
<input type="text" name="username" value="" maxlength="128" style="width:130px;">
<input type="password" name="password" maxlength="128" style="width:130px;">
so I put in the following:
'Cox': {
'name': 'Cox',
'username_field': 'username',
'password_field': 'password',
},
I found a locked video on Comedy Central, that had failed to work without credentials before. (Don't judge my video selection)
And then I ran:
python.exe ~\youtube-dl-master\youtube_dl\__main__.py --ap-mso Cox --ap-username *username --ap-password *password http://www.cc.com/episodes/sveupz/adam-devine-s-house-party-neighbor-party-season-1-ep-107
and--holy crap!--stuff started to happen!
[ComedyCentral] adam-devine-s-house-party-neighbor-party-season-1-ep-107: Downloading webpage
[ComedyCentral] Downloading JSON metadata
[ComedyCentral] 80182651-fc4d-4037-adee-91ce361278e5: Downloading info
[ComedyCentral] 0bfa2f25-e954-484e-bf95-2ced3991b609: Extracting information
[ComedyCentral] 0bfa2f25-e954-484e-bf95-2ced3991b609: Downloading video urls
[ComedyCentral] 0bfa2f25-e954-484e-bf95-2ced3991b609: Downloading m3u8 information
[ComedyCentral] 26e72a25-5d14-4d84-b5d9-50d23437a5b7: Extracting information
[ComedyCentral] 26e72a25-5d14-4d84-b5d9-50d23437a5b7: Downloading video urls
[ComedyCentral] 26e72a25-5d14-4d84-b5d9-50d23437a5b7: Downloading m3u8 information
[ComedyCentral] 13dedffa-42bc-449b-9953-db2f05e68148: Extracting information
[ComedyCentral] 13dedffa-42bc-449b-9953-db2f05e68148: Downloading video urls
[ComedyCentral] 13dedffa-42bc-449b-9953-db2f05e68148: Downloading m3u8 information
[ComedyCentral] 2683954d-ca3e-4ffe-861a-0d2f431938b7: Extracting information
[ComedyCentral] 2683954d-ca3e-4ffe-861a-0d2f431938b7: Downloading video urls
[ComedyCentral] 2683954d-ca3e-4ffe-861a-0d2f431938b7: Downloading m3u8 information
[ComedyCentral] f718274c-7210-41fc-ad91-4ef35b4b824d: Extracting information
[ComedyCentral] f718274c-7210-41fc-ad91-4ef35b4b824d: Downloading video urls
[ComedyCentral] f718274c-7210-41fc-ad91-4ef35b4b824d: Downloading m3u8 information
[download] Downloading playlist: Neighbor Party
[ComedyCentral] playlist Neighbor Party: Collected 5 video ids (downloading 5 of them)
[download] Downloading video 1 of 5
[hlsnative] Downloading m3u8 manifest
but then it all fell apart
[hlsnative] Downloading m3u8 manifest
WARNING: hlsnative has detected features it does not support, extraction will be delegated to ffmpeg
[download] Destination: Adam Devine's House Party_October 4, 2013_1_107_Neighbor Party_Act 1-0bfa2f25-e954-484e-bf95-2ced3991b609.mp4
ERROR: m3u8 download detected but ffmpeg or avconv could not be found. Please install one.
Now I have to try and work ffmpeg into windows/python. Hrm.
Anyway, it looks like that adobepass.py MSO edit works for Cox so hopefully someone out there will notice this if they need it.
Anyway, it looks like that adobepass.py MSO edit works for Cox so hopefully someone out there will notice this if they need it.
no, testing on Comedy Central does not prove that the change is working, Comedy Central extractor does not support Adobe Pass authentication.
So, installed ffmpeg and used --ffmpeg-location
and it all worked! This thing is amaze-balls!
Thanks to @tv21 in the other thread for pointing me in the right direction.
Aaaaaand I broke it.
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '--ap-mso', 'Cox', '--ap-username', 'PRIVATE', '--ap-password', 'PRIVATE', '--ffmpeg-location', 'ffmpeg.exe', 'http://www.tbs.com/videos/full-frontal-with-samantha-bee/season-2/episode-11/june-14-2017.html']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2017.06.18
[debug] Python version 3.6.1 - Windows-10-10.0.14393-SP0
[debug] exe versions: ffmpeg N-86537-gae6f6d4, ffprobe N-86537-gae6f6d4
[debug] Proxy map: {}
[TBS] june-14-2017: Downloading webpage
[TBS] june-14-2017: Downloading XML
[TBS] 2097653: Downloading Provider Redirect Page
[TBS] 2097653: Downloading Provider Login Page
[TBS] 2097653: Logging in
ERROR: Unable to extract post url; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "C:\Users\O\Downloads\python-3.6.1-embed-amd64\youtube-dl-master\youtube_dl\YoutubeDL.py", line 762, in extract_info
ie_result = ie.extract(url)
File "C:\Users\O\Downloads\python-3.6.1-embed-amd64\youtube-dl-master\youtube_dl\extractor\common.py", line 433, in extract
ie_result = self._real_extract(url)
File "C:\Users\O\Downloads\python-3.6.1-embed-amd64\youtube-dl-master\youtube_dl\extractor\tbs.py", line 55, in _real_extract
'auth_required': video_params.get('isAuthRequired') != 'false',
File "C:\Users\O\Downloads\python-3.6.1-embed-amd64\youtube-dl-master\youtube_dl\extractor\turner.py", line 79, in _extract_cvp_info
query['accessToken'] = self._extract_mvpd_auth(ap_data['url'], video_id, ap_data['site_name'], ap_data['site_name'])
File "C:\Users\O\Downloads\python-3.6.1-embed-amd64\youtube-dl-master\youtube_dl\extractor\adobepass.py", line 1485, in _extract_mvpd_auth
post_form(mvpd_confirm_page_res, 'Confirming Login')
File "C:\Users\O\Downloads\python-3.6.1-embed-amd64\youtube-dl-master\youtube_dl\extractor\adobepass.py", line 1357, in post_form
post_url = self._html_search_regex(r'<form[^>]+action=(["'])(?P
I don't understand because if I inspect the login page using chrome I find:
<form method="POST" action="https://idm.east.cox.net/idm/coxnetlogin" enctype="application/x-www-form-urlencoded" name="LoginPage" onsubmit="return preProcess();" style="font-size: 13px; font-family: Arial, Helvetica, sans-serif; color: 151515; margin-left: 3em; margin-top: 1em; padding: 0px;">
<span style="font-size: 12px; font-weight: bold; font-family: Arial, Helvetica, sans-serif; color: 151515; line-height: 20pt;">User ID</span><br>
<input type="text" name="username" value="" maxlength="128" style="width:130px;"><br>
<span style="font-size: 12px; font-weight: bold; font-family: Arial, Helvetica, sans-serif; color: 151515; line-height: 20pt;">Password</span><br>
<input type="password" name="password" maxlength="128" style="width:130px;"><br>
<input id="rememberme" type="checkbox" name="rememberme" value="true" style="vertical-align: middle;"><span style="font-size: 11px; font-weight: normal; font-family: Arial, Helvetica, sans-serif; color: 151515; line-height: 20pt; vertical-align: middle;">Remember me</span>
<input type="hidden" name="target" value="https%3A%2F%2Fidm.east.cox.net%2Faffwebservices%2Ftbs%2Fredirect.jsp%3FSAMLRequest%3DnVPLbttADLz3K4S96%252BlH24WlwIkb1ECaqrbSQ28riYrXkHbVJZXYf9%252BVbDdugxpFrgQ5nOEMZ1e7pnaewKDUKmahFzAHVKFLqR5j9pDduh%252FYVfJuhqKpo5bPO9qoFfzsAMmZI4IhO3ejFXYNmDWYJ1nAw%252BouZhuiFrnvY%252BsJO%252BSJUufgFbqxFb9H89fzL3evIJizsNBSCRr4nFBk2XggkCzAzlNAfDwe%252BaKqniHHw1L02y6vZTFgR4iaObfaFDAwjlklagTmLBcxE1E4DeW22uSjqpiW23AqpzKaBNtxGeSTR9uEqUCUT%252FAyhtjBUiEJRTGLgvC9G0zdKMiCMZ%252BEfPzRG40mP5iTGk260PW1VIcDdkZxLVAiV6IB5FTwXjaPvIDnhybkn7MsddOv64w5309GRL0R1hqF%252FHD6y1jtcTFLDk7xgbE5R7gMIE5GsOS3c3bKe22fVm4OG1FXrq787Ho98883JqekfNoRqF4LJjPamJb2fAXYalVm%252BkjrUP43r5MoDjuyzdKUbisM7d9A8W8GyZH1nzyPpXvLYrlItU3T3pnXtX6%252BMSDIxoFMB0OuGkGX79lXZOlWQysnI%252BwOUMScddrDf%252BtELSsJ5uxR%252Fk%252FLm1Lhv%252Bg9%252F%252BDkFw%253D%253D%26SAMLTRANSACTIONID%3D2541fa8c-232aaf5c-fd343918-aebce25d-6e7d8925-2f0%26SMPORTALURL%3Dhttps%253A%252F%252Fidm.east.cox.net%253A443%252Faffwebservices%252Fpublic%252Fsaml2sso%26SigAlg%3Dhttp%253A%252F%252Fwww.w3.org%252F2000%252F09%252Fxmldsig%2523rsa-sha1%26Signature%3DBQ%252BdrZ6Vz4shbMcE%252FV9fgecUNTGDp3pkiULicabYdoUpwoiO5Mkv26bgxbE2VlRrzbNhbkNbu5NQbnzO4oczcf%252FN5kGQYqCMEQXMlJuAyEGk6vbZY5p3Va%252F%252BEKYY%252BHyLiGPfZMDH%252F5BdFLP1yKlVLVmysrj4VMticYKzKQpnj4XJlmkntTxb7QG%252BI%252FNybjK9Wwyf7XBc8v1CZnGnv9vajfxcT2Pnh5y%252Bb38TiYJ3IyJ7tNB3NHL3rHWjdMOmSbU1afeeCQd8hM2Nu6su06FHZtEJWQ6r05YjjbREwRgmlzk62nTm6DgfHumAOj7UmO1S09gqn8VDkUcaTm%252Br5yYnNA%253D%253D%26">
<input type="hidden" name="onsuccess" value="https%3A%2F%2Fidm.east.cox.net%2Faffwebservices%2Ftbs%2Fredirect.jsp%3FSAMLRequest%3DnVPLbttADLz3K4S96%252BlH24WlwIkb1ECaqrbSQ28riYrXkHbVJZXYf9%252BVbDdugxpFrgQ5nOEMZ1e7pnaewKDUKmahFzAHVKFLqR5j9pDduh%252FYVfJuhqKpo5bPO9qoFfzsAMmZI4IhO3ejFXYNmDWYJ1nAw%252BouZhuiFrnvY%252BsJO%252BSJUufgFbqxFb9H89fzL3evIJizsNBSCRr4nFBk2XggkCzAzlNAfDwe%252BaKqniHHw1L02y6vZTFgR4iaObfaFDAwjlklagTmLBcxE1E4DeW22uSjqpiW23AqpzKaBNtxGeSTR9uEqUCUT%252FAyhtjBUiEJRTGLgvC9G0zdKMiCMZ%252BEfPzRG40mP5iTGk260PW1VIcDdkZxLVAiV6IB5FTwXjaPvIDnhybkn7MsddOv64w5309GRL0R1hqF%252FHD6y1jtcTFLDk7xgbE5R7gMIE5GsOS3c3bKe22fVm4OG1FXrq787Ho98883JqekfNoRqF4LJjPamJb2fAXYalVm%252BkjrUP43r5MoDjuyzdKUbisM7d9A8W8GyZH1nzyPpXvLYrlItU3T3pnXtX6%252BMSDIxoFMB0OuGkGX79lXZOlWQysnI%252BwOUMScddrDf%252BtELSsJ5uxR%252Fk%252FLm1Lhv%252Bg9%252F%252BDkFw%253D%253D%26SAMLTRANSACTIONID%3D2541fa8c-232aaf5c-fd343918-aebce25d-6e7d8925-2f0%26SMPORTALURL%3Dhttps%253A%252F%252Fidm.east.cox.net%253A443%252Faffwebservices%252Fpublic%252Fsaml2sso%26SigAlg%3Dhttp%253A%252F%252Fwww.w3.org%252F2000%252F09%252Fxmldsig%2523rsa-sha1%26Signature%3DBQ%252BdrZ6Vz4shbMcE%252FV9fgecUNTGDp3pkiULicabYdoUpwoiO5Mkv26bgxbE2VlRrzbNhbkNbu5NQbnzO4oczcf%252FN5kGQYqCMEQXMlJuAyEGk6vbZY5p3Va%252F%252BEKYY%252BHyLiGPfZMDH%252F5BdFLP1yKlVLVmysrj4VMticYKzKQpnj4XJlmkntTxb7QG%252BI%252FNybjK9Wwyf7XBc8v1CZnGnv9vajfxcT2Pnh5y%252Bb38TiYJ3IyJ7tNB3NHL3rHWjdMOmSbU1afeeCQd8hM2Nu6su06FHZtEJWQ6r05YjjbREwRgmlzk62nTm6DgfHumAOj7UmO1S09gqn8VDkUcaTm%252Br5yYnNA%253D%253D%26">
<input type="hidden" name="onfailure" value="http://idm.east.cox.net/coxlogin/ui/tvonline">
<br>
<input type="image" src="https://idm.east.cox.net/cci/coxmain/coxlogin/images/signin.png" alt="Sign In" style="margin-top: 10px;"><p></p><input type="hidden" name="MFP" value=""><input type="hidden" name="CallerID" value=""><input type="hidden" name="DeviceID" value=""></form>
Which seems to have the POST url.
I don't get Regex.
In response to @remitamine, I was able to download a comedy central episode that was locked and required me to login to Cox when using chrome. If Comedy Central doesn't use Adobe Pass, then how was I able to use youtube-dl to download the video?
Of course, @remitamine is correct, and I can download the video using youtube-dl without any adobe pass options. Sigh. I have accomplished nothing.
I would suggest getting HTTP Headers add-on/extension for Firefox or Chrome and see where the traffic is going. I haven't had much success getting my pull requests merged, but I'm willing to try adding support if anyone wants to e-mail me their Cox credentials at gkoelln7 [at] yahoo [dot] com.
Are there unit tests to validate changes to the adobepass.py file? I scanned the test folder and didn't see anything directly testing the AdobePassIE class.
For Cox, I found two issues: the login page has multiple html form elements, so the regex in post_form(), which only matches the first form element, finds the wrong POST url; the correct form is the second or third form on the page.
Second, the flow from the login page to the posting of the SAML response is slightly different.
I coded a modified adobepass.py file and was able to pull from Cox, including a currently locked version of the URL in the linked issue #13929 (which, itself, is no longer locked).
But the fixes require a change to the post_form() method, adding an optional form_id parameter and changing the regex to include lookahead since the order of the attributes on the form tag can be volatile. I put the second change, for the flow into the SAML response, in an "if 'Cox'" block so I'm less worried about breaking working code with that change, but since the post_form() method is shared by all extractors I don't want to submit the change without doing my best to validate that I'm not damaging anything.
@WRootX can you elaborate on this part?
Second, the flow from the login page to the posting of the SAML response is slightly different.
I've been trying to work through this myself and I've basically to the point where it is POSTing to https://idm.east.cox.net/idm/coxnetlogin
. But while performing "Retrieving Session" I get:
ERROR: Unable to download webpage: HTTP Error 401: Unauthorized (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
I think what your referring to is that there are hidden fields in the <form>
. Or is that a red herring?
HTML Form for Cox.net (expand to see full HTML)
<div id="pf-signin-panel" class="pf-overlay">
<form id="pf-signin-form" action="https://idm.east.cox.net/idm/coxnetlogin" enctype="application/x-www-form-urlencoded" method="post">
<fieldset>
<legend>Sign In</legend>
<input name="onsuccess" id="pf-onsuccess" value="https%3A%2F%2Fidm.east.cox.net%2Fcoxlogin%2Fui%2Fdisney%3FSMAUTHREASON%3D0%26SMAGENTNAME%3D-SM-JeTd0c8Ox39f8%252BpLz%252FfLWSRjTrB%252FWNHdbR3yhOmzibW%252BQxJizWocNKGSJvp5ncvs%26TARGET%3D-SM-HTTPS%253A%252F%252Fidm.east.cox.net%252Faffwebservices%252Fdisney%252Fredirect.jsp%253FSAMLRequest%253DpZNPb5tAEMXv-%252FRRo7-%252Fw1dtKVIXLtRrWUttQmPfS2wGC2gl26szj2t-%252B8CduMkqqWq19HOb96bNzu-%252FOzS1tQeFXIqI-%252BI5HLBC5LLjYReQxvbdvyV38bo6sqYOWLjpdiQ386gC1tUAEpU3fUgrsGlBbUHuew-%252BPmISKV1i1S18XWYabJYYXMwMllYypuT3O3i88PbxDEWhk0F0wPes4UXjQOMNQGcHAEaBqGE5eV5RNkOA5Ft-%252B2ymucDO0CUxLqXKodBcURKViMQa72KCAtCL-%252Fc5v53sZuHNLAh2uzAod9XPalr6E-%252BN-%252FjQlD5Ht4bkPsYC1QM6EjEnj-%252Be9ub2r6Xeh6deNSfOdOb8AexEiW1zGX9gYtxgZ0SVDLkSAVrAKnOaW-%252BbBo5Hs-%252FER0k9pmtjJ121KrO-%252FnIII-%252BCBONQDqu-%252FjqrPQ0m8ZgUHRSrS8J1ADsHQeI-%252FyZku5218UtgZVKwubVm6K44CjsuKCQE1zt3L4fH5aD4eNIjeFsZzXalWH-%252BkGsJWiSOVJ4Vj-%252Bu8SzPwoHbR5zVdgtU-%252Fr4f2pfi4lPBl5KPpW-%252BGEHrVSLNjR2tRV3Lp6UCps2RaNXBcG0N09e33Fd4YZfDU6oVMzNAaGJtkx7-%252FrWM1Lzmoi-%252B-%252Fzz7aI-%252B2zj8rvGvwE-%253D%2526RelayState%253DKYTwUgVgJgEg1gSwPILAaQGoEYCKCAyAwmADYBGAtgLLKoBCVEAqgEwBKADAHJcCSCAdwQBNAOoAPAHa8IAewQAtAOIkQvSRwB0mgM4AFAA7jxARx1kAnFQAqCgG4A2AwENdAZhzqA7HYBe-%252BAA0TcQBlBQBjLAAWBWEdXwEsQmsmChAAMQALDlkoEPwAFzhJXwd0gBElAPKAQRg7AFdhN2E6Lgb0gR0DJRCvByoAVjo6dOdxWQEcDGsAc3CELnColgwcNEGyskI6DkHJNijnYWFnKBAAr2sAWnxBtwaa43SwTKiakhDwiCQ3OFkAGZscoAJ0aEEIg14hCQAQssyYUBYLHSbgBDUITAUvkkFnEAFEcG5ylAauEwNYMCRZoEDCABOMvADMiDJHYkAocnQIL5rGwYBQDBCwMsEMA6F4sAITAg9GwFgEoAAOEgIAD6hB0XFmWHErQcojgdTc-%252BLcbjQvlmGAo-%252BA4-%252BLVCAczh01xqToCALIzlEdi4DjAvBCBRCWBAvmAYABEDtOiiSDI4hAbCQUQ4sxBHHwbiV1hMLGAUDcx3SwBCVGp4UICimHCUbGZg2cbF8bAwmTcYAoJGuwkyDTaah0MDy-%252BOAXHNFGuUAaZAKDRASqNJhwTD0ZBACgQ4UyC4gVAUaDVOGcSjgq3C-%252BLs12YOnxYEIcAMXBqJiiFiwwA45V4SBM--gChACCQSoOFgZD4BQOBKmqvA4BAvD4gYFCEAgGCyGQSh0A4vC8FAECliwwgNOI1S2gIoiSAC1x2EwMBUKsIJ6GeODCOIP5kKIChQCCFgIDUVDhMRCD4lwaAmACDgFNc-%252BSEIQZBIL4OBsKIHACAoICyLwBjpBQwBYDoaCSOaSgAiYTCZAEVAhKICQhCCShROhswUGAUDiACub4HYISEGwbBeCEYDONcIqzMACDlPiZDlDAdDXEoBSiPgwhREwTDpIQ-%252BKDPg1gUBYmTOLISBKFgbAWAY1w6F4wDXA4UQghgASSA44gJsIariKGswQEFwi8HAFDWAUWAgkwvANDgV4srMohYg0FgmF4aCZDUAQYBYvBMGGASZhAmQFNYbjssAIJYMIehIHABR2BQJpoOU5TtiANT4jAAhcOIgxMF4GB0JkDjlAB1g4F4egNBwBiEFECxYOUaqDNY6QwDMhBUEoSC8FwJAWEoCOYWgCgOEqohKLM5Rsg4ITAA0XjAt9IRuBgLABGwRRQHYOggCY-%252BLCIQBiyOFIJKjA-%252BK-%252BIGvCzFEbhKHB-%252BBODgCgWHACgYCEgVcJI6TPs4XizJooBgCwEAQM4sxqgIXiDEqvhIHQLBHUgNSzEAA%2526SigAlg%253Dhttp-%253A-%252F-%252Fwww.w3.org-%252F2000-%252F09-%252Fxmldsig-%2523rsa--sha1%2526Signature%253DBa5WM9BttfLYA51mDZVrBaYhg8eyumelLyXqdvmTfIp9EYVCPAeG0RYP3urTpbebfXU2-%252BatY-%252BRf9oCk5wnq-%252FwlO32H1-%252Fz82tNKDwvVgeTpr798S0P6N1M4FtFL5eAoTLuDbzwcmKmhYG05uNQ12GQLyElmVndVbYuB5nrDF3Ecb-%252FfHTMf4GYhUJuW5bXWaoKXhWC6F-%252FGt9fZ-%252BpZ4ynL-%252F9E6qX1kRlf-%252B7vtCbm0zrwgyOWeFfTJRlFjREJ4sAICraIeojsqOv3h8g5n8hQ1ls-%252FOy7iJ-%252FaTeaeyRhJuKHaQ9B-%252F1ZnMwYlBHTtxGawMyHUwgdyXxkc9HqSjWNxlWKXHuw-%253D-%253D%2526SMPORTALURL%253Dhttps-%253A-%252F-%252Fidm.east.cox.net-%253A443-%252Faffwebservices-%252Fpublic-%252Fsaml2sso%2526SAMLTRANSACTIONID%253D2a287aa4--897d62f1--aba899b1--2664ba58--1549a2d6%26GUID%3D%26REALMOID%3D06-00024f7f-28cb-10be-bb80-41c4ac121016%26TYPE%3D33554432%26METHOD%3DGET" type="hidden" />
<input name="onfailure" id="pf-onfailure" value="https://www.cox.com/residential/sign-in.cox?onsuccess=https%3A%2F%2Fidm.east.cox.net%2Fcoxlogin%2Fui%2Fdisney%3FSMAUTHREASON%3D0%26SMAGENTNAME%3D-SM-JeTd0c8Ox39f8%252BpLz%252FfLWSRjTrB%252FWNHdbR3yhOmzibW%252BQxJizWocNKGSJvp5ncvs%26TARGET%3D-SM-HTTPS%253A%252F%252Fidm.east.cox.net%252Faffwebservices%252Fdisney%252Fredirect.jsp%253FSAMLRequest%253DpZNPb5tAEMXv-%252FRRo7-%252Fw1dtKVIXLtRrWUttQmPfS2wGC2gl26szj2t-%252B8CduMkqqWq19HOb96bNzu-%252FOzS1tQeFXIqI-%252BI5HLBC5LLjYReQxvbdvyV38bo6sqYOWLjpdiQ386gC1tUAEpU3fUgrsGlBbUHuew-%252BPmISKV1i1S18XWYabJYYXMwMllYypuT3O3i88PbxDEWhk0F0wPes4UXjQOMNQGcHAEaBqGE5eV5RNkOA5Ft-%252B2ymucDO0CUxLqXKodBcURKViMQa72KCAtCL-%252Fc5v53sZuHNLAh2uzAod9XPalr6E-%252BN-%252FjQlD5Ht4bkPsYC1QM6EjEnj-%252Be9ub2r6Xeh6deNSfOdOb8AexEiW1zGX9gYtxgZ0SVDLkSAVrAKnOaW-%252BbBo5Hs-%252FER0k9pmtjJ121KrO-%252FnIII-%252BCBONQDqu-%252FjqrPQ0m8ZgUHRSrS8J1ADsHQeI-%252FyZku5218UtgZVKwubVm6K44CjsuKCQE1zt3L4fH5aD4eNIjeFsZzXalWH-%252BkGsJWiSOVJ4Vj-%252Bu8SzPwoHbR5zVdgtU-%252Fr4f2pfi4lPBl5KPpW-%252BGEHrVSLNjR2tRV3Lp6UCps2RaNXBcG0N09e33Fd4YZfDU6oVMzNAaGJtkx7-%252FrWM1Lzmoi-%252B-%252Fzz7aI-%252B2zj8rvGvwE-%253D%2526RelayState%253DKYTwUgVgJgEg1gSwPILAaQGoEYCKCAyAwmADYBGAtgLLKoBCVEAqgEwBKADAHJcCSCAdwQBNAOoAPAHa8IAewQAtAOIkQvSRwB0mgM4AFAA7jxARx1kAnFQAqCgG4A2AwENdAZhzqA7HYBe-%252BAA0TcQBlBQBjLAAWBWEdXwEsQmsmChAAMQALDlkoEPwAFzhJXwd0gBElAPKAQRg7AFdhN2E6Lgb0gR0DJRCvByoAVjo6dOdxWQEcDGsAc3CELnColgwcNEGyskI6DkHJNijnYWFnKBAAr2sAWnxBtwaa43SwTKiakhDwiCQ3OFkAGZscoAJ0aEEIg14hCQAQssyYUBYLHSbgBDUITAUvkkFnEAFEcG5ylAauEwNYMCRZoEDCABOMvADMiDJHYkAocnQIL5rGwYBQDBCwMsEMA6F4sAITAg9GwFgEoAAOEgIAD6hB0XFmWHErQcojgdTc-%252BLcbjQvlmGAo-%252BA4-%252BLVCAczh01xqToCALIzlEdi4DjAvBCBRCWBAvmAYABEDtOiiSDI4hAbCQUQ4sxBHHwbiV1hMLGAUDcx3SwBCVGp4UICimHCUbGZg2cbF8bAwmTcYAoJGuwkyDTaah0MDy-%252BOAXHNFGuUAaZAKDRASqNJhwTD0ZBACgQ4UyC4gVAUaDVOGcSjgq3C-%252BLs12YOnxYEIcAMXBqJiiFiwwA45V4SBM--gChACCQSoOFgZD4BQOBKmqvA4BAvD4gYFCEAgGCyGQSh0A4vC8FAECliwwgNOI1S2gIoiSAC1x2EwMBUKsIJ6GeODCOIP5kKIChQCCFgIDUVDhMRCD4lwaAmACDgFNc-%252BSEIQZBIL4OBsKIHACAoICyLwBjpBQwBYDoaCSOaSgAiYTCZAEVAhKICQhCCShROhswUGAUDiACub4HYISEGwbBeCEYDONcIqzMACDlPiZDlDAdDXEoBSiPgwhREwTDpIQ-%252BKDPg1gUBYmTOLISBKFgbAWAY1w6F4wDXA4UQghgASSA44gJsIariKGswQEFwi8HAFDWAUWAgkwvANDgV4srMohYg0FgmF4aCZDUAQYBYvBMGGASZhAmQFNYbjssAIJYMIehIHABR2BQJpoOU5TtiANT4jAAhcOIgxMF4GB0JkDjlAB1g4F4egNBwBiEFECxYOUaqDNY6QwDMhBUEoSC8FwJAWEoCOYWgCgOEqohKLM5Rsg4ITAA0XjAt9IRuBgLABGwRRQHYOggCY-%252BLCIQBiyOFIJKjA-%252BK-%252BIGvCzFEbhKHB-%252BBODgCgWHACgYCEgVcJI6TPs4XizJooBgCwEAQM4sxqgIXiDEqvhIHQLBHUgNSzEAA%2526SigAlg%253Dhttp-%253A-%252F-%252Fwww.w3.org-%252F2000-%252F09-%252Fxmldsig-%2523rsa--sha1%2526Signature%253DBa5WM9BttfLYA51mDZVrBaYhg8eyumelLyXqdvmTfIp9EYVCPAeG0RYP3urTpbebfXU2-%252BatY-%252BRf9oCk5wnq-%252FwlO32H1-%252Fz82tNKDwvVgeTpr798S0P6N1M4FtFL5eAoTLuDbzwcmKmhYG05uNQ12GQLyElmVndVbYuB5nrDF3Ecb-%252FfHTMf4GYhUJuW5bXWaoKXhWC6F-%252FGt9fZ-%252BpZ4ynL-%252F9E6qX1kRlf-%252B7vtCbm0zrwgyOWeFfTJRlFjREJ4sAICraIeojsqOv3h8g5n8hQ1ls-%252FOy7iJ-%252FaTeaeyRhJuKHaQ9B-%252F1ZnMwYlBHTtxGawMyHUwgdyXxkc9HqSjWNxlWKXHuw-%253D-%253D%2526SMPORTALURL%253Dhttps-%253A-%252F-%252Fidm.east.cox.net-%253A443-%252Faffwebservices-%252Fpublic-%252Fsaml2sso%2526SAMLTRANSACTIONID%253D2a287aa4--897d62f1--aba899b1--2664ba58--1549a2d6%26GUID%3D%26REALMOID%3D06-00024f7f-28cb-10be-bb80-41c4ac121016%26TYPE%3D33554432%26METHOD%3DGET" type="hidden" />
<input name="targetFN" value="COX.net" type="hidden" />
<input name="emaildomain" value="@cox.net" type="hidden" />
<div id="pf-signin-form-status" class="pf-form-error"></div>
<label for="username" class="pf-hidden">User ID</label>
<input type="text" id="username" name="username" title="User ID" placeholder="User ID" value="" />
<div class="password-wrapper">
<label for="password" class="display-placeholder">Password</label>
<input type="password" class="create-placeholder" id="password" name="password" title="Password" placeholder="Password" />
</div>
<input type="submit" id="pf-signin-submit" name="pf-signin-submit" value="Sign In" />
<span id="pf-signin-lock"></span>
<input type="checkbox" id="rememberme" name="rememberme" checked="checked" />
<label for="rememberme" id="rememberme-label">Remember User ID</label>
<hr />
<a href="https://idm.east.cox.net/selfservice2/registerresidentialaccountholder.action">No Account? Register Now!</a>
<a href="https://idm.east.cox.net/selfservice2/lookupuserid.action">Forgot User ID</a> /
<a href="https://idm.east.cox.net/selfservice2/resetpassword.action?finalview=">Password?</a>
</fieldset>
</form>
</div>
This issue is over 2 years old and still unresolved. I to have Cox cable credentials and hope to leverage this utility.
Is anyone currently looking into this still? If not, I may try to take a crack at it.
@jmb12686 I continued to look into it. I made a little bit of progress. I got it to where it was properly authenticating (or at least I think it was properly authenticating) but I could never get the session information to be stored/handed off such that the rest of the code worked.
I think the challenge I was/am facing is that I just don't know Python (I happen to dislike it) and so I'm fighting the language and it's idioms as well as trying to reverse engineer the login mechanisms.
@RLovelett I appreciate what you are doing. Python can get a little weird sometimes. Anything I can help you with, let me know. I would love for this to work.
still seems that that support hasn't been added. I am willing to work with a developer, but i wont be able to share credentials