title: C# Web exception unexpected EOF
body: <p>I am attempting to download a json web page from imdb to find an actor.</p>
  
  <pre><code>        try
          {
              using (WebClient wc = new WebClient())
              {
                  string content = wc.DownloadString("https://v2.sg.media-imdb.com/suggests/names/b/brad.json");
              }
          }
          catch (WebException x)
          {
              x.ToString();
          }
  </code></pre>
  
  <p>Whenever I attempt to make the download.</p>
  
  <p>The exception given is:</p>
  
  <pre><code>The underlying connection was closed: An unexpected error occurred on a send.
  </code></pre>
  
  <p>And the inner web exception is:</p>
  
  <pre><code>Received an unexpected EOF or 0 bytes from the transport stream.
  </code></pre>
  
  <p>From what I've read. This happens because one of imdb's servers is misconfigured.</p>
  
  <p>To try and solve this, I used</p>
  
  <pre><code>System.Net.ServicePointManager.SecurityProtocol = (System.Net.SecurityProtocolType)(3072);
  </code></pre>
  
  <p>To set the security protocol to Tls12 which does solve the issue on my PC.</p>
  
  <p>However, when I try to use it on my second PC. That line throws the exception:</p>
  
  <pre><code>System.NotSupported: The requested security protocol is not supported
  </code></pre>
  
  <p>Which I assume means that it doesn't have tls12 support on that PC.</p>
  
  <p>I have the .NET Framework 4.5.1 installed on that PC and I cannot install .NET Framework 4.7 because it fails in the installation.</p>
  
  <p>I assume the security protocol comes with 4.7, but I don't see that confirmed on MSDN.</p>
  
  <p>How can I get the web page to download on this second PC?</p>
  
  <p>Is there a way for me to manually install the Tls12 protocol?</p>
  
  <p>Is there an alternative using HttpWebRequest or some standalone executable instead?</p>