質問編集履歴

5

脱字修正

2019/11/07 09:45

投稿

hkcomori
hkcomori

スコア30

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回目のリクエストヘッダを追記

2019/11/07 09:45

投稿

hkcomori
hkcomori

スコア30

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に関する記述に誤りがあったので修正

2019/11/07 08:14

投稿

hkcomori
hkcomori

スコア30

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
- ただ、ヘッダのCookieを見る限り、セッションIDは正しく送られているように見えます。
127
+ よく見るなぜかセッションIDが変わっていることがわかります。
126
-
127
- 同じセッションIDでリクエストした、動画ファイル以外のファイルは正しく取得・レンダリングできています。
128
+
128
-
129
-
130
-
131
- Android上のMicrosoft Edgeからの動画リクエスト時に
129
+
132
-
133
- 「Chrome-Proxy: frfr」というヘッダが良くないのではないかと思うのですが、
130
+
134
-
135
- このヘッダでこのような事象は発生するものでしょうか?
136
-
137
- そもそもこのヘッダは、どういう意味のヘッダなのでしょうか?
138
-
139
-
140
-
141
- ```
131
+ ```
142
-
132
+
143
- # Windowsから動画ファイルを取得した場合のリクエストヘッダ(再生できる)
133
+ # Androidでページを取得した場合のリクエストヘッダ(表示できる)
144
-
134
+
145
- Host: xxxxxxxxxx
135
+ Host: xxxxxxxxxxxxxxx
146
-
136
+
147
- Connection: keep-alive
137
+ Cache-Control: max-age=0
148
-
138
+
149
- Sec-Fetch-Mode: no-cors
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: identity;q=1, *;q=0
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
- Range: bytes=0-
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
- Cookie: xxxxxxxxxx
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

認証方法を追記

2019/11/07 08:01

投稿

hkcomori
hkcomori

スコア30

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

誤字修正

2019/11/07 06:39

投稿

hkcomori
hkcomori

スコア30

test CHANGED
File without changes
test CHANGED
@@ -120,7 +120,7 @@
120
120
 
121
121
  ログイン状態が解除されてしまい、動画ファイルが配信されていないものと推測されます。
122
122
 
123
- ただ、ヘッダのCookieを見る限り、SessionIDは正しく送られているように見えます。
123
+ ただ、ヘッダのCookieを見る限り、セッションIDは正しく送られているように見えます。
124
124
 
125
125
  同じセッションIDでリクエストした、動画ファイル以外のファイルは正しく取得・レンダリングできています。
126
126