NS_E_CURL_NOTSAFE (0XC00D1324) Fix: URL not safe for operation
This Windows error means your media player or app refuses a URL because it sees it as unsafe. The fix is usually a registry tweak to allow less secure URLs.
Quick answer
Open regedit, go to HKEY_CURRENT_USER\Software\Microsoft\Windows Media\WMSettings, create a DWORD called EnableHttp and set its value to 1. Restart the app.
Why this happens
Windows Media Player and some other media apps have a built-in safety check. They refuse to open URLs that don't use HTTPS or that point to local network resources (like a file server on your home network). The error code 0XC00D1324 – NS_E_CURL_NOTSAFE – is the player's way of saying I don't trust that address.
This usually shows up when you're trying to stream from a device on your local network, like a NAS drive, a media server running on a different PC, or an old webcam that streams over plain HTTP. I've seen it most often with Windows 10 and Windows 11 users trying to play video from a Synology or QNAP NAS using DLNA.
Microsoft's thinking here was security: they wanted to prevent malicious content from being loaded via unsecured URLs. But it's a blunt tool. It blocks perfectly safe local traffic too. The real fix is to tell Windows Media Player to trust HTTP URLs.
Step-by-step fix
- Close Windows Media Player or whatever media app is showing the error. If it's running, the registry change might not take effect until you restart it.
- Press Windows Key + R to open the Run dialog. Type
regeditand press Enter. Click Yes if User Account Control asks for permission. - In the Registry Editor, navigate to this path:
You can copy and paste that into the address bar at the top and press Enter.HKEY_CURRENT_USER\Software\Microsoft\Windows Media\WMSettings - Look in the right pane for a value named
EnableHttp. If it's not there, right-click an empty space, choose New > DWORD (32-bit) Value. Name itEnableHttp (case-sensitive). - Double-click the new
EnableHttpentry. Set the Value data to1. Make sure Base is set to Hexadecimal (it should be by default). Click OK. - Close the Registry Editor. You don't need to reboot.
- Open Windows Media Player again and try the link that gave you the error. It should work now.
What to expect after the fix
Once EnableHttp is set to 1, Windows Media Player will stop blocking HTTP URLs. If you were getting the error on a specific file stream, it should play immediately. You might notice that the player no longer shows a security warning for HTTP links – that's the whole point.
If you want to reverse this later (maybe because you're worried about security on a public network), just go back and set EnableHttp to 0, or delete the entry entirely.
Alternative fixes if the registry edit doesn't work
Sometimes the registry key doesn't stick, or the error comes from a different app. Try these:
- Use a different media player. VLC Media Player doesn't have this URL safety check. It'll play HTTP streams and local network URLs without complaint. If you're not wedded to Windows Media Player, this is the simplest workaround.
- Switch to HTTPS. If the URL is on a server you control (like a web server or a media server app like Plex), configure it to use HTTPS. Many NAS devices have a setting to enable SSL.
- Check Windows security settings. Open Internet Options (search for
Internet Options
in the Start menu), go to the Security tab, select Local intranet, and click Sites. Make sure Include all local (intranet) sites not listed in other zones is checked. This can sometimes help Windows trust local URLs. - Run Windows Media Player as administrator. Right-click the shortcut and choose
Run as administrator
. Some registry changes only apply to the current user session, and running as admin might force the setting to be read. This is a temporary test, not a permanent fix.
Prevention tip
Once you've made this registry change, the error won't come back for HTTP URLs. But if you move your media files to a server that uses HTTPS, you won't need the tweak at all. Most modern NAS devices and media servers like Plex, Emby, or Jellyfin can be set up with HTTPS certificates (even self-signed ones). That's the cleanest long-term solution.
If you're on a public or untrusted network, consider setting EnableHttp back to 0 after you're done streaming – it's just one extra layer of protection against accidentally clicking a bad link.
Was this solution helpful?