2017-12-26 28 views
0

アンドロイドアプリが利用できないときに誰かがブラウザからakamaiストリーミングトークンを生成する方法を解決できますか?Akamai TokenをIPTV HLSに入手する

私はアプリからこの文字列を取得:

<-- 
POST /api/tibo324/getakamaitoken HTTP/1.1 
Content-Length: 328 
Content-Type: application/x-www-form-urlencoded 
Host: tibodrm.appspot.com 
Connection: Keep-Alive 
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4) 

<-- 
auth=84Kwfr741QQv%252BnUMXtW%252FcbZ6aWNQKN0mCAVccmjo%252FXaf6PaB2pz7j3QqAlxHaj%252Fut%252Bu3vSzDt8NO%250AKqNBIgM7ckBedzNMkGOBRtlFfi3gAUuUzYvFN7U9ClHQKKWtfL%252F%252FyB2o1qyvGc2tY8i8lud%252F3tqg%250AhyjUvUD3Bib11V9aQqx8JOBslArMz%252FUaXLR0skPUETIeQatFmGmhFoyuyPhgbg%253D%253D%250A&AppID=v%252B10zWNKL8RJ8SY6LUSZXg%253D%253D%250A 

--> 
HTTP/1.1 200 OK 
Server: nginx 
Date: Tue, 26 Dec 2017 22:24:09 GMT 
Content-Type: text/html; charset=utf-8 
Content-Length: 118 
Vary: Accept-Encoding 
X-Powered-By: Express 
ETag: W/"76-zi4HHRQAuAUejh/FF9M5ZFJtPek" 
Via: 1.1 google 
Alt-Svc: hq=":443"; ma=2592000; quic=51303431; quic=51303339; quic=51303338; quic=51303337; quic=51303335,quic=":443"; ma=2592000; v="41,39,38,37,35" 

--> 
?__token__=ip=00.000.00.000~exp=1514332929~acl=*~hmac=e9afdfe9f6b41c0ca14a16bc60a11253aecd432243789144c1ebaa70f23c615e 

私は、次のURLフェッチしようとすると:

https://tibodrm.appspot.com/api/tibo324/getakamaitoken?auth=84Kwfr741QQv%2BnUMXtW%2FcbZ6aWNQKN0mCAVccmjo%2FXaf6PaB2pz7j3QqAlxHaj%2FuFjEcIocduH6Z%0Awc5ZzKaqnmHhinePCNCcvQfh68bi2UvbZq04lBalY0job9%2FyVeuV1kh4hzWnP8sVuRozO27rFhSY%0AmDB8ck%2FuN0SqKEoxzycGUGhaZy3bjy88%2BhhwEMQknGNJ2j2JdMIHMT0AcLTFoQ%3D%3D%0A&AppID=v%2B10zWNKL8RJ8SY6LUSZXg%3D%3D%0A 

を、私は、ブラウザでの応答を取得:

はできませんGET/api/tibo324/getakamaitoken

私には何が欠けていますか?

答えて

0

答えはあなたの質問です:あなたはPOSTだけでアクセスされるため、URLを取得できません。 POSTはアプリを介して生成された認証文字列を必要とするようです。任意のデータなしでPOSTを作ることは、記述エラー文字列を返します。トークンはアカマイは、外部のコンテンツへのアクセスを防止するために顧客に提供保護ツールであるとして認証されていないウェブコールを介しトークンジェネレータにアクセスするための

$ http POST https://tibodrm.appspot.com/api/tibo324/getakamaitoken 
HTTP/1.1 200 OK 
Alt-Svc: hq=":443"; ma=2592000; quic=51303431; quic=51303339; quic=51303338; quic=51303337; quic=51303335,quic=":443"; ma=2592000; v="41,39,38,37,35" 
Content-Encoding: gzip 
Content-Type: application/json; charset=utf-8 
Date: Wed, 27 Dec 2017 21:44:19 GMT 
ETag: W/"31-zIZow+wVfq5Z3stS2NUNRdvP0go" 
Server: nginx 
Transfer-Encoding: chunked 
Vary: Accept-Encoding 
Via: 1.1 google 
X-Powered-By: Express 

{ 
    "description": "no token at all", 
    "isValid": false 
} 

できないことは、設計により通常コンテンツプロバイダのコントロールの

要するに、あなたが見ているコンテンツプロバイダは、アプリケーションの外部でビデオにアクセスすることを望んでいません。アプリケーションがビデオにアクセスできない場合、コンテンツプロバイダに連絡して、セキュリティスキームを迂回しようとするのではなく、その問題を解決する必要があります。

+0

ジョシュ、お返事ありがとうございます! POSTデータに関するご意見は私に解決策を与えてくれます! 私はブラウザでGETを使用しましたが、サーバーがPOSTを使用していると述べたので、上記のデータを使用しました: 'auth = 84Kwfr741QQ .... ' POSTデータとして私にトークンを与えました!だから、今私はアプリの外で私のストリームを最後に見ることができます! :) – anatema