Joroe
0
Hallo liebe Community,
ich spiele hier einwenig mit Wireshark, Firefox und Grooveshark herum und bin auf einen Sachverhalt gestoßen, den ich mir bisher nicht erklären kann.
Lässt man über Grooveshark ein Lied abspielen (Ländersperre vorher durch Firefox Plugin deaktiviert) und extrahiert den entsprechenden Netzwerkverkehr, so erhält man folgende HTTP-Request:
Der Webserver reagiert wie erwartet und wirft ein 200 OK zurück und im Anschluss daran das Lied:
Versucht man die Request nach dem Lied zu emulieren (durch diverse Firefox-Plugins), so erhält man folgende Request, die meiner Meinung nach identisch mit der ersten ist:
Allerdings erhalte ich hier eine "400 - Bad Request" Response.
Durch welche andere Faktoren muss das Verhalten des Webservers beinflusst worden sein? - Ist die Session (mit zugehöriger ID ausgeloffen? - So schnell?) Oder gibt es gar noch andere Werte, die nicht im Header stehen und übermittelt werden? (Wäre mir neu, da sowohl Cookies, als auch Parameter mitübertragen worden sind...)
Ich bedanke mich für eure Antworten,
mit freundlichen Grüßen,
JoRoe.
ich spiele hier einwenig mit Wireshark, Firefox und Grooveshark herum und bin auf einen Sachverhalt gestoßen, den ich mir bisher nicht erklären kann.
Lässt man über Grooveshark ein Lied abspielen (Ländersperre vorher durch Firefox Plugin deaktiviert) und extrahiert den entsprechenden Netzwerkverkehr, so erhält man folgende HTTP-Request:
Code:
POST /stream.php HTTP/1.1
Host: stream57-he.grooveshark.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Cookie: __utma=111479378.983549518.1341639351.1345568919.1345572206.9; __utmz=111479378.1341639351.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __qca=P0-1808481611-1341639371207; PHPSESSID=48e4a16b2762a5087b9c629d3664f251; __utmb=111479378.391.4.1345580986572; __utmc=111479378
Referer: http://grooveshark.com/JSQueue.swf?20120521.02
Content-type: application/x-www-form-urlencoded
Content-length: 100
streamKey=754f8917a50475849130f9b1e40e9ecbd94d511c%5F5033f6c1%5F174f06d%5F2036fa7%5F8a2e585c%5F1%5F0
Der Webserver reagiert wie erwartet und wirft ein 200 OK zurück und im Anschluss daran das Lied:
Code:
HTTP/1.1 200 OK
Server: nginx/1.0.2
Date: Tue, 21 Aug 2012 20:29:46 GMT
Content-Type: audio/mpeg
Content-Length: 4725896
Last-Modified: Thu, 07 Jun 2012 02:56:40 GMT
Connection: close
Cache-Control: no-cache, no-store, must-revalidate
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Accept-Ranges: bytes
ID3...
Versucht man die Request nach dem Lied zu emulieren (durch diverse Firefox-Plugins), so erhält man folgende Request, die meiner Meinung nach identisch mit der ersten ist:
Code:
POST /stream.php HTTP/1.1
Host: stream57-he.grooveshark.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Cookie: __utma=111479378.983549518.1341639351.1345568919.1345572206.9; __utmz=111479378.1341639351.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __qca=P0-1808481611-1341639371207; PHPSESSID=48e4a16b2762a5087b9c629d3664f251; __utmb=111479378.391.4.1345580986572; __utmc=111479378
Referer: http://grooveshark.com/JSQueue.swf?20120521.02
Content-Type: application/x-www-form-urlencoded
Content-Length: 100
streamKey=754f8917a50475849130f9b1e40e9ecbd94d511c%5F5033f6c1%5F174f06d%5F2036fa7%5F8a2e585c%5F1%5F0
Allerdings erhalte ich hier eine "400 - Bad Request" Response.
Code:
HTTP/1.1 400 Bad Request
Server: nginx/1.0.2
Date: Tue, 21 Aug 2012 20:35:02 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
0
Durch welche andere Faktoren muss das Verhalten des Webservers beinflusst worden sein? - Ist die Session (mit zugehöriger ID ausgeloffen? - So schnell?) Oder gibt es gar noch andere Werte, die nicht im Header stehen und übermittelt werden? (Wäre mir neu, da sowohl Cookies, als auch Parameter mitübertragen worden sind...)
Ich bedanke mich für eure Antworten,
mit freundlichen Grüßen,
JoRoe.