質問編集履歴
5
脱字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -246,7 +246,7 @@
|
|
246
246
|
|
247
247
|
```html
|
248
248
|
|
249
|
-
<a role="button" name="dlVideoBtn" class="btn btn-primary float-right" href="/auth_dist/xxxx.mp4" download="">ダウンロード</a>
|
249
|
+
<a role="button" name="dlVideoBtn" class="btn btn-primary float-right" href="/auth_dist/xxxx.mp4" download="xxxx.mp4">ダウンロード</a>
|
250
250
|
|
251
251
|
```
|
252
252
|
|
4
再生できない場合のリクエストが2回に分かれていたので、1回目のリクエストヘッダを追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -156,6 +156,28 @@
|
|
156
156
|
|
157
157
|
# Androidでvideoタグを読み込んだ場合のリクエストヘッダ(再生できない)
|
158
158
|
|
159
|
+
Host: xxxxxxxxxxxxxxx
|
160
|
+
|
161
|
+
Accept-Encoding: identity;q=1, *;q=0
|
162
|
+
|
163
|
+
User-Agent: Mozilla/5.0 (Linux; Android 6.0; BG2-W09) AppleWebKit/537.36 (KHTML,
|
164
|
+
|
165
|
+
like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36 EdgA/42.0.2.3985
|
166
|
+
|
167
|
+
Chrome-Proxy: frfr
|
168
|
+
|
169
|
+
Accept: */*
|
170
|
+
|
171
|
+
Referer: xxxxxxxxxxxxxxx
|
172
|
+
|
173
|
+
Accept-Language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
|
174
|
+
|
175
|
+
Range: bytes=0-
|
176
|
+
|
177
|
+
Cookie: /session=.eJwdj0FqA...
|
178
|
+
|
179
|
+
|
180
|
+
|
159
181
|
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
|
160
182
|
|
161
183
|
Cookie: /session=eyJfZnJlc2...
|
@@ -170,7 +192,37 @@
|
|
170
192
|
|
171
193
|
|
172
194
|
|
195
|
+
|
196
|
+
|
173
|
-
# Androidで動画ファイルのURLにアクセス
|
197
|
+
# Androidで動画ファイルのURLにアクセスした場合のリクエストヘッダ(再生できない)
|
198
|
+
|
199
|
+
Host: xxxxxxxxxxxxxxx
|
200
|
+
|
201
|
+
Accept-Encoding: identity;q=1, *;q=0
|
202
|
+
|
203
|
+
User-Agent: Mozilla/5.0 (Linux; Android 6.0; BG2-W09) AppleWebKit/537.36 (KHTML,
|
204
|
+
|
205
|
+
like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36 EdgA/42.0.2.3985
|
206
|
+
|
207
|
+
Chrome-Proxy: frfr
|
208
|
+
|
209
|
+
Accept: */*
|
210
|
+
|
211
|
+
Referer: xxxxxxxxxxxxxxx
|
212
|
+
|
213
|
+
175901.mp4
|
214
|
+
|
215
|
+
Accept-Language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
|
216
|
+
|
217
|
+
Range: bytes=0-925456
|
218
|
+
|
219
|
+
If-None-Match: "5dbaa25b-e1f11"
|
220
|
+
|
221
|
+
If-Modified-Since: Thu, 31 Oct 2019 08:59:07 GMT
|
222
|
+
|
223
|
+
Cookie: /session=.eJwdj0FqA...
|
224
|
+
|
225
|
+
|
174
226
|
|
175
227
|
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
|
176
228
|
|
3
セッションIDに関する記述に誤りがあったので修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -114,7 +114,9 @@
|
|
114
114
|
|
115
115
|
以下のような出力が得られました。
|
116
116
|
|
117
|
-
再生できないときは、この後、ログインページへリダイレクトする
|
117
|
+
再生できないときは、この後、ログインページへリダイレクトするレスポンスが続きます。
|
118
|
+
|
119
|
+
(ページの取得に対するリダイレクトではないため、ブラウザでの見かけ上はログインページには遷移しません)
|
118
120
|
|
119
121
|
|
120
122
|
|
@@ -122,70 +124,94 @@
|
|
122
124
|
|
123
125
|
ログイン状態が解除されてしまい、動画ファイルが配信されていないものと推測されます。
|
124
126
|
|
125
|
-
|
127
|
+
よく見ると、なぜかセッションIDが変わっていることがわかります。
|
126
|
-
|
127
|
-
|
128
|
+
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
129
|
+
|
132
|
-
|
133
|
-
|
130
|
+
|
134
|
-
|
135
|
-
このヘッダでこのような事象は発生するものでしょうか?
|
136
|
-
|
137
|
-
そもそもこのヘッダは、どういう意味のヘッダなのでしょうか?
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
```
|
131
|
+
```
|
142
|
-
|
132
|
+
|
143
|
-
#
|
133
|
+
# Androidでページを取得した場合のリクエストヘッダ(表示できる)
|
144
|
-
|
134
|
+
|
145
|
-
Host: xxxxxxxxxx
|
135
|
+
Host: xxxxxxxxxxxxxxx
|
146
|
-
|
136
|
+
|
147
|
-
Con
|
137
|
+
Cache-Control: max-age=0
|
148
|
-
|
138
|
+
|
149
|
-
|
139
|
+
Upgrade-Insecure-Requests: 1
|
140
|
+
|
150
|
-
|
141
|
+
User-Agent: Mozilla/5.0 (Linux; Android 6.0; BG2-W09) AppleWebKit/537.36 (KHTML,
|
142
|
+
|
143
|
+
like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36 EdgA/42.0.2.3985
|
144
|
+
|
145
|
+
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/a
|
146
|
+
|
147
|
+
png,*/*;q=0.8
|
148
|
+
|
151
|
-
Accept-Encoding: ide
|
149
|
+
Accept-Encoding: gzip, deflate, br
|
152
|
-
|
153
|
-
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
|
154
|
-
|
155
|
-
Accept: */*
|
156
|
-
|
157
|
-
Sec-Fetch-Site: same-origin
|
158
|
-
|
159
|
-
Referer: xxxxxxxxxx
|
160
|
-
|
161
|
-
Accept-Language: ja,en-US;q=0.9,en;q=0.8
|
162
|
-
|
163
|
-
Cookie: xxxxxxxxxx
|
164
|
-
|
165
|
-
Range: bytes=0-
|
166
|
-
|
167
|
-
If-Range: "5dbaa25b-e1f11"
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
# Androidから動画ファイルを取得した場合のリクエストヘッダ(再生できない)
|
172
|
-
|
173
|
-
Host: xxxxxxxxxx
|
174
|
-
|
175
|
-
Accept-Encoding: identity;q=1, *;q=0
|
176
|
-
|
177
|
-
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
|
178
|
-
|
179
|
-
Chrome-Proxy: frfr
|
180
|
-
|
181
|
-
Accept: */*
|
182
|
-
|
183
|
-
Referer: xxxxxxxxxx
|
184
150
|
|
185
151
|
Accept-Language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
|
186
152
|
|
187
|
-
|
153
|
+
Cookie: /session=.eJwdj0FqA...
|
154
|
+
|
155
|
+
|
156
|
+
|
188
|
-
|
157
|
+
# Androidでvideoタグを読み込んだ場合のリクエストヘッダ(再生できない)
|
158
|
+
|
159
|
+
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
|
160
|
+
|
161
|
+
Cookie: /session=eyJfZnJlc2...
|
162
|
+
|
163
|
+
Allow-Cross-Domain-Redirect: false
|
164
|
+
|
189
|
-
|
165
|
+
Host: xxxxxxxxxxxxxxx
|
166
|
+
|
190
|
-
|
167
|
+
Connection: Keep-Alive
|
168
|
+
|
169
|
+
Accept-Encoding: gzip
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
# Androidで動画ファイルのURLにアクセス(アドレスバーに貼り付け)した場合のリクエストヘッダ(再生できない)
|
174
|
+
|
175
|
+
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
|
176
|
+
|
177
|
+
Allow-Cross-Domain-Redirect: false
|
178
|
+
|
179
|
+
Host: xxxxxxxxxxxxxxx
|
180
|
+
|
181
|
+
Connection: Keep-Alive
|
182
|
+
|
183
|
+
Accept-Encoding: gzip
|
184
|
+
|
185
|
+
Cookie: /session=eyJfZnJlc2...
|
186
|
+
|
191
|
-
```
|
187
|
+
```
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
一方、以下のダウンロードリンク経由で動画ファイルにアクセスした場合は、正しくダウンロードでき、ローカルに保存されたファイルは再生できます。
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
```html
|
196
|
+
|
197
|
+
<a role="button" name="dlVideoBtn" class="btn btn-primary float-right" href="/auth_dist/xxxx.mp4" download="">ダウンロード</a>
|
198
|
+
|
199
|
+
```
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
```
|
204
|
+
|
205
|
+
# Androidで動画ファイルのダウンロードリンクをクリックした場合のリクエストヘッダ(ダウンロードできる)
|
206
|
+
|
207
|
+
Host: xxxxxxxxxxxxxxx
|
208
|
+
|
209
|
+
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
|
210
|
+
|
211
|
+
Accept-Encoding: gzip, deflate, br
|
212
|
+
|
213
|
+
Accept-Language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
|
214
|
+
|
215
|
+
Cookie: /session=.eJwdj0FqA...
|
216
|
+
|
217
|
+
```
|
2
認証方法を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
nginx + uWSGI + Python(Flask)で、動画ファイルをログインした人だけに配信しようとしています。
|
2
2
|
|
3
3
|
認証はPython側で行い、動画ファイルの送信はファイルサイズが大きいため、nginxのX-Accel-Redirect機能を使用しています。
|
4
|
+
|
5
|
+
認証にはFlask-Loginを使用しています。
|
4
6
|
|
5
7
|
|
6
8
|
|
1
誤字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -120,7 +120,7 @@
|
|
120
120
|
|
121
121
|
ログイン状態が解除されてしまい、動画ファイルが配信されていないものと推測されます。
|
122
122
|
|
123
|
-
ただ、ヘッダのCookieを見る限り、
|
123
|
+
ただ、ヘッダのCookieを見る限り、セッションIDは正しく送られているように見えます。
|
124
124
|
|
125
125
|
同じセッションIDでリクエストした、動画ファイル以外のファイルは正しく取得・レンダリングできています。
|
126
126
|
|