teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

脱字修正

2019/11/07 09:45

投稿

hkcomori
hkcomori

スコア30

title CHANGED
File without changes
body CHANGED
@@ -122,7 +122,7 @@
122
122
  一方、以下のダウンロードリンク経由で動画ファイルにアクセスした場合は、正しくダウンロードでき、ローカルに保存されたファイルは再生できます。
123
123
 
124
124
  ```html
125
- <a role="button" name="dlVideoBtn" class="btn btn-primary float-right" href="/auth_dist/xxxx.mp4" download="">ダウンロード</a>
125
+ <a role="button" name="dlVideoBtn" class="btn btn-primary float-right" href="/auth_dist/xxxx.mp4" download="xxxx.mp4">ダウンロード</a>
126
126
  ```
127
127
 
128
128
  ```

4

再生できない場合のリクエストが2回に分かれていたので、1回目のリクエストヘッダを追記

2019/11/07 09:45

投稿

hkcomori
hkcomori

スコア30

title CHANGED
File without changes
body CHANGED
@@ -77,6 +77,17 @@
77
77
  Cookie: /session=.eJwdj0FqA...
78
78
 
79
79
  # Androidでvideoタグを読み込んだ場合のリクエストヘッダ(再生できない)
80
+ Host: xxxxxxxxxxxxxxx
81
+ Accept-Encoding: identity;q=1, *;q=0
82
+ User-Agent: Mozilla/5.0 (Linux; Android 6.0; BG2-W09) AppleWebKit/537.36 (KHTML,
83
+ like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36 EdgA/42.0.2.3985
84
+ Chrome-Proxy: frfr
85
+ Accept: */*
86
+ Referer: xxxxxxxxxxxxxxx
87
+ Accept-Language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
88
+ Range: bytes=0-
89
+ Cookie: /session=.eJwdj0FqA...
90
+
80
91
  User-Agent: Mozilla/5.0 (Linux; Android 6.0; BG2-W09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36 EdgA/42.0.2.3985
81
92
  Cookie: /session=eyJfZnJlc2...
82
93
  Allow-Cross-Domain-Redirect: false
@@ -84,7 +95,22 @@
84
95
  Connection: Keep-Alive
85
96
  Accept-Encoding: gzip
86
97
 
98
+
87
- # Androidで動画ファイルのURLにアクセス(アドレスバーに貼り付け)した場合のリクエストヘッダ(再生できない)
99
+ # Androidで動画ファイルのURLにアクセスした場合のリクエストヘッダ(再生できない)
100
+ Host: xxxxxxxxxxxxxxx
101
+ Accept-Encoding: identity;q=1, *;q=0
102
+ User-Agent: Mozilla/5.0 (Linux; Android 6.0; BG2-W09) AppleWebKit/537.36 (KHTML,
103
+ like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36 EdgA/42.0.2.3985
104
+ Chrome-Proxy: frfr
105
+ Accept: */*
106
+ Referer: xxxxxxxxxxxxxxx
107
+ 175901.mp4
108
+ Accept-Language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
109
+ Range: bytes=0-925456
110
+ If-None-Match: "5dbaa25b-e1f11"
111
+ If-Modified-Since: Thu, 31 Oct 2019 08:59:07 GMT
112
+ Cookie: /session=.eJwdj0FqA...
113
+
88
114
  User-Agent: Mozilla/5.0 (Linux; Android 6.0; BG2-W09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36 EdgA/42.0.2.3985
89
115
  Allow-Cross-Domain-Redirect: false
90
116
  Host: xxxxxxxxxxxxxxx

3

セッションIDに関する記述に誤りがあったので修正

2019/11/07 08:14

投稿

hkcomori
hkcomori

スコア30

title CHANGED
File without changes
body CHANGED
@@ -56,41 +56,54 @@
56
56
 
57
57
  動画を上記コードの※部分で、動画ファイルをリクエストされた際のヘッダを確認したところ、
58
58
  以下のような出力が得られました。
59
- 再生できないときは、この後、ログインページへリダイレクトするログが続きます。
59
+ 再生できないときは、この後、ログインページへリダイレクトするレスポンスが続きます。
60
+ (ページの取得に対するリダイレクトではないため、ブラウザでの見かけ上はログインページには遷移しません)
60
61
 
61
62
  このことから、Microsoft Edgeでの動画リクエストの場合のみ、
62
63
  ログイン状態が解除されてしまい、動画ファイルが配信されていないものと推測されます。
63
- ただ、ヘッダのCookieを見る限り、セッションIDは正しく送られているように見えます。
64
+ よく見るなぜかセッションIDが変わっていることがわかります。
64
- 同じセッションIDでリクエストした、動画ファイル以外のファイルは正しく取得・レンダリングできています。
65
65
 
66
+ ```
66
- AndroidMicrosoft Edgeからの動画リクエスト時に
67
+ # Androidでページを取得した場合のリクエストヘッダ(表示できる)
67
- 「Chrome-Proxy: frfr」というヘッダが良くないのではないかと思うのですが、
68
+ Host: xxxxxxxxxxxxxxx
68
- このヘッダでこのような事象は発生するものでしょうか?
69
+ Cache-Control: max-age=0
69
- そもそもこのヘッダは、どういう意味のヘッダなのでしょうか?
70
+ Upgrade-Insecure-Requests: 1
71
+ User-Agent: Mozilla/5.0 (Linux; Android 6.0; BG2-W09) AppleWebKit/537.36 (KHTML,
72
+ like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36 EdgA/42.0.2.3985
73
+ Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/a
74
+ png,*/*;q=0.8
75
+ Accept-Encoding: gzip, deflate, br
76
+ Accept-Language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
77
+ Cookie: /session=.eJwdj0FqA...
70
78
 
79
+ # Androidでvideoタグを読み込んだ場合のリクエストヘッダ(再生できない)
80
+ User-Agent: Mozilla/5.0 (Linux; Android 6.0; BG2-W09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36 EdgA/42.0.2.3985
81
+ Cookie: /session=eyJfZnJlc2...
82
+ Allow-Cross-Domain-Redirect: false
83
+ Host: xxxxxxxxxxxxxxx
84
+ Connection: Keep-Alive
85
+ Accept-Encoding: gzip
86
+
87
+ # Androidで動画ファイルのURLにアクセス(アドレスバーに貼り付け)した場合のリクエストヘッダ(再生できない)
88
+ User-Agent: Mozilla/5.0 (Linux; Android 6.0; BG2-W09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36 EdgA/42.0.2.3985
89
+ Allow-Cross-Domain-Redirect: false
90
+ Host: xxxxxxxxxxxxxxx
91
+ Connection: Keep-Alive
92
+ Accept-Encoding: gzip
93
+ Cookie: /session=eyJfZnJlc2...
71
94
  ```
72
- # Windowsから動画ファイルを取得した場合のリクエストヘッダ(再生できる)
73
- Host: xxxxxxxxxx
74
- Connection: keep-alive
75
- Sec-Fetch-Mode: no-cors
76
- Accept-Encoding: identity;q=1, *;q=0
77
- User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36
78
- Accept: */*
79
- Sec-Fetch-Site: same-origin
80
- Referer: xxxxxxxxxx
81
- Accept-Language: ja,en-US;q=0.9,en;q=0.8
82
- Cookie: xxxxxxxxxx
83
- Range: bytes=0-
84
- If-Range: "5dbaa25b-e1f11"
85
95
 
96
+ 一方、以下のダウンロードリンク経由で動画ファイルにアクセスした場合は、正しくダウンロードでき、ローカルに保存されたファイルは再生できます。
97
+
98
+ ```html
99
+ <a role="button" name="dlVideoBtn" class="btn btn-primary float-right" href="/auth_dist/xxxx.mp4" download="">ダウンロード</a>
100
+ ```
101
+
102
+ ```
86
- # Androidから動画ファイルを取得した場合のリクエストヘッダ(再生できない
103
+ # Android動画ファイルのダウンロードリンククリックした場合のリクエストヘッダ(ダウンロードでき
87
- Host: xxxxxxxxxx
104
+ Host: xxxxxxxxxxxxxxx
88
- Accept-Encoding: identity;q=1, *;q=0
89
- User-Agent: Mozilla/5.0 (Linux; Android 7.0; HUAWEI CAN-L12) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36 EdgA/42.0.4.3985
105
+ User-Agent: Mozilla/5.0 (Linux; Android 6.0; BG2-W09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36 EdgA/42.0.2.3985
90
- Chrome-Proxy: frfr
91
- Accept: */*
106
+ Accept-Encoding: gzip, deflate, br
92
- Referer: xxxxxxxxxx
93
107
  Accept-Language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
94
- Range: bytes=0-
95
- Cookie: xxxxxxxxxx
108
+ Cookie: /session=.eJwdj0FqA...
96
109
  ```

2

認証方法を追記

2019/11/07 08:01

投稿

hkcomori
hkcomori

スコア30

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,6 @@
1
1
  nginx + uWSGI + Python(Flask)で、動画ファイルをログインした人だけに配信しようとしています。
2
2
  認証はPython側で行い、動画ファイルの送信はファイルサイズが大きいため、nginxのX-Accel-Redirect機能を使用しています。
3
+ 認証にはFlask-Loginを使用しています。
3
4
 
4
5
  ## 解決したいこと
5
6
 

1

誤字修正

2019/11/07 06:39

投稿

hkcomori
hkcomori

スコア30

title CHANGED
File without changes
body CHANGED
@@ -59,7 +59,7 @@
59
59
 
60
60
  このことから、Microsoft Edgeでの動画リクエストの場合のみ、
61
61
  ログイン状態が解除されてしまい、動画ファイルが配信されていないものと推測されます。
62
- ただ、ヘッダのCookieを見る限り、SessionIDは正しく送られているように見えます。
62
+ ただ、ヘッダのCookieを見る限り、セッションIDは正しく送られているように見えます。
63
63
  同じセッションIDでリクエストした、動画ファイル以外のファイルは正しく取得・レンダリングできています。
64
64
 
65
65
  Android上のMicrosoft Edgeからの動画リクエスト時に