title: An unexpected error occurred on a send. EOF or 0 bytes from the transport stream
body: <p>I make a request to an https site with this code:</p>
  
  <pre><code> webRequest = (HttpWebRequest)WebRequest.Create(new Uri(urlDestination));
              webRequest.Method = "POST";
              webRequest.ContentType = "application/x-www-form-urlencoded";
              webRequest.ContentLength = bytes.Length;
  
              Stream writer = webRequest.GetRequestStream();
              writer.Write(bytes, 0, bytes.Length);
              if (writer != null)
              {
                  writer.Close();
              }
  
              response = new StreamReader(webRequest.GetResponse().GetResponseStream()).ReadToEnd();
  </code></pre>
  
  <p>and get this error:</p>
  
  <pre><code>System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---&gt; System.IO.IOException: Received an unexpected EOF or 0 bytes from the transport stream.
     at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
     at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
     at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
     at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
     at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
     at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
     at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
     at System.Net.TlsStream.CallProcessAuthentication(Object state)
     at System.Threading.ExecutionContext.runTryCode(Object userData)
     at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
     at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
     at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
     at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
     at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
     at System.Net.ConnectStream.WriteHeaders(Boolean async)
     --- End of inner exception stack trace ---
     at System.Net.HttpWebRequest.GetRequestStream(TransportContext&amp; context)
     at System.Net.HttpWebRequest.GetRequestStream()
     at Nop.Proxy.send_sync_post.process(NameValueCollection parametersReceived)
     at Nop.Proxy.Includes.Page_Load(Object sender, EventArgs e)
  </code></pre>
  
  <p>I after checking on the web about the error I found this solution and didn't worked:</p>
  
  <pre><code>ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
  </code></pre>
  
  <p>after taking to the supplier he said that he encountered this error</p>
  
  <pre><code>SSL_do_handshake() failed (SSL: error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher) while SSL handshaking
  </code></pre>
  
  <p>I know that the error is from my part but don't know how to make the request to skip the error.</p>