3

I've run into a problem with a WCF streaming service. That problem is due to Windows Media Player submitting multiple GET statements when you tell it to load the URL. Simply put, the multiple GET statements cause the entire stream to be requested more than once.

I'm guessing each one of these requests has a specific task, such as possibly requesting metadata, media type, and so on. The problem is I cannot seem to find any specification as for these GET requests on the web, nor can I make much sense of the packet captured "GET" requests to determine what exactly they are expecting back.

The first GET statement (length 294):

GET /Service.svc/GetVideo/?id=123&authCode=37566528-DA87-4293-92F7-8BF791461729 HTTP/1.1\r\n

Accept: /\r\n

User-Agent: Windows-Media-Player/12.0.7601.17514\r\n

Accept-Encoding: gzip, deflate\r\n

Host: serverName:port\r\n

Connection: Keep-Alive\r\n

Second (500~ packets later) GET statement (length 364):

GET /Service.svc/GetVideo/?id=123&authCode=37566528-DA87-4293-92F7-8BF791461729 HTTP/1.1\r\n

Cache-Control: no-cache\r\n

Connection: Keep-Alive\r\n

Pragma: getIfoFileURI.dlna.org\r\n

Accept: /\r\n

User-Agent: NSPlayer/12.00.7601.17514 WMFSDK/12.00.7601.17514\r\n

GetContentFeatures.DLNA.ORG: 1\r\n

Host: serverName:port\r\n

Third (130~ packets later) GET statement (length 324):

GET /Service.svc/GetVideo/?id=123&authCode=37566528-DA87-4293-92F7-8BF791461729 HTTP/1.1\r\n

Accept: /\r\n

User-Agent: NSPlayer/12.00.7601.17514 WMFSDK/12.00.7601.17514\r\n

Icy-Metadata: 1\r\n

Accept-Encoding: gzip, deflate\r\n

Host: serverName:port\r\n

Connection: Keep-Alive\r\n

Fourth (200~ packets later) GET statement (length 687):

GET /Service.svc/GetVideo/?id=123&authCode=37566528-DA87-4293-92F7-8BF791461729 HTTP/1.1\r\n

Accept: /\r\n

User-Agent: NSPlayer/12.0.7601.17514\r\n

Host: serverName\r\n

X-Accept-Authentication: Negotiate, NTLM, Digest, Basic\r\n

Pragma: version11-enabled=1\r\n

Pragma: no-cache,rate=1.000,stream-time=0,stream-offset=0:0,packet-num=4294967295,max-duration=0\r\n

Pragma: packet-pair-experiment=1\r\n

Pragma: pipeline-experiment=1\r\n

Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.startupprofile\r\n

Pragma: xClientGUID={3300AD50-2C39-46c0-AE0A-1623CEEA9A7E}\r\n

Accept-Language: en-US, *;q=0.1\r\n

Fifth (40~ packets later) GET statement (length 294):

GET /Service.svc/GetVideo/?id=123&authCode=37566528-DA87-4293-92F7-8BF791461729 HTTP/1.1\r\n

Accept: /\r\n

User-Agent: NSPlayer/12.0.7601.17514 WMFSDK/12.0\r\n

Accept-Encoding: gzip, deflate\r\n

Host: serverName:port\r\n

Connection: Keep-Alive\r\n

Sixth (200~ packets later) GET statement:

GET /Service.svc/GetVideo/?id=123&authCode=37566528-DA87-4293-92F7-8BF791461729 HTTP/1.1\r\n

Accept: /\r\n

User-Agent: NSPlayer/12.0.7601.17514 WMFSDK/12.0\r\n

Accept-Encoding: gzip, deflate\r\n

Host: serverName:port\r\n

Connection: Keep-Alive\r\n

Seventh/LAST (70~ packets later) GET statement:

GET /Service.svc/GetVideo/?id=123&authCode=37566528-DA87-4293-92F7-8BF791461729 HTTP/1.1\r\n

Cache-Control: no-cache\r\n

Connection: Keep-Alive\r\n

Pragma: getIfoFileURI.dlna.org\r\n

Accept: /\r\n

User-Agent: NSPlayer/12.00.7601.17514 WMFSDK/12.00.7601.17514\r\n

GetContentFeatures.DLNA.ORG: 1\r\n

Host: serverName:port\r\n

Has anyone run into this before or have any reference to what each of these GET requests is expecting in response? They can't possibly all want a new STREAM and WCF appears to not handle them without calling for a new stream.

  • Hi! I'm having the exact same problem as you, did you ever find out the answer to this one? – najk May 13 '14 at 14:37

1 Answers1

0

Put this in htaccess

SetEnvIf User-Agent NSPlayer   BAD_BOT

Order Allow,Deny
Allow from all
Deny from env=BAD_BOT

Please look at this post, for details: http://www.webhostingtalk.com/showthread.php?t=637335

Manish Kumar
  • 1,419
  • 3
  • 17
  • 36