title: GetRequestStream() returning WebException time out ... but only on some machines
body: <blockquote>
    <p>Exception is thrown at the first "using":<br>  using (var os =
    firstRequest.GetRequestStream())</p>
  </blockquote>
  
  <p>my guess now is that it has to do with ssl trust issue initiated by the server, but if that is true , than what's the different between the 4 windows 7 pro machines which 2 are working fine and 2 throwing that exception,</p>
  
  <p>Exception Details:</p>
  
  <pre><code>System.Net.WebException was unhandled
    Message=The operation has timed out
    Source=System
    StackTrace:
         at System.Net.HttpWebRequest.GetRequestStream(TransportContext&amp; context)
         at System.Net.HttpWebRequest.GetRequestStream()
         at MyCheckAPI.MyCheckLogic2.HttpPost4(String URI, String URI2, String Parameters1, String Parameters2) in C:\Users\Ha-Erez\Desktop\RichTB\RichTB\MyCheckLogic2.cs:line 309
         at MyCheckAPI.MyCheckLogic2.MobileGetCode2(String email, String pass) in C:\Users\Ha-Erez\Desktop\RichTB\RichTB\MyCheckLogic2.cs:line 444
         at RichTB.Integration.button5_Click(Object sender, EventArgs e) in C:\Users\Ha-Erez\Desktop\RichTB\RichTB\Form1.cs:line 348
         at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
         at System.Windows.Forms.Control.WmMouseUp(Message&amp; m, MouseButtons button, Int32 clicks)
         at System.Windows.Forms.Control.WndProc(Message&amp; m)
         at System.Windows.Forms.ButtonBase.WndProc(Message&amp; m)
         at System.Windows.Forms.Button.WndProc(Message&amp; m)
         at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
         at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp; msg)
         at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
         at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
         at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
         at RichTB.Program.Main() in C:\Users\Ha-Erez\Desktop\RichTB\RichTB\Program.cs:line 18
         at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
         at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
         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.Threading.ThreadHelper.ThreadStart()
    InnerException: 
  </code></pre>
  
  <p><strong>What could it be ?</strong></p>
  
  <pre><code>public static string HttpPost4(string URI, string URI2, string Parameters1, string Parameters2)  
  {
         string respStr = String.Empty;
         CookieContainer cookieJar = new CookieContainer();
         HttpWebRequest firstRequest = (HttpWebRequest)WebRequest.Create(URI);
         try
         {
              firstRequest.CookieContainer = cookieJar;
              firstRequest.KeepAlive = true;
              firstRequest.ContentType = "application/x-www-form-urlencoded";
              firstRequest.Method = "POST";
              firstRequest.KeepAlive = false;
              firstRequest.Timeout = 5000;
              firstRequest.Proxy = null;
              firstRequest.ServicePoint.ConnectionLeaseTimeout = 5000;
              firstRequest.ServicePoint.MaxIdleTime = 5000;
  
               byte[] bytes = System.Text.Encoding.UTF8.GetBytes(Parameters1);
               firstRequest.ContentLength = bytes.Length;
               using (var os = firstRequest.GetRequestStream())
               {     
                   os.Write(bytes, 0, bytes.Length);
                  os.Close();
               }
  
               using (HttpWebResponse firstResponse = (HttpWebResponse)firstRequest.GetResponse())
                       {
                           using (var sr = new StreamReader(firstResponse.GetResponseStream()))
                           {
  
                               respStr = sr.ReadToEnd().Trim();
                               Logger(DateTime.Now + " Login Response: " + respStr, 1);
  
                               sr.Close();
                           }
                           firstResponse.Close();
                       }
  
                       //  cookieJar.Add(firstResponse.Cookies);
  
                       HttpWebRequest secondRequest = (HttpWebRequest)WebRequest.Create(URI2);
                       secondRequest.Method = "POST";
                       secondRequest.ContentType = "application/x-www-form-urlencoded";
                       // secondRequest.KeepAlive = true;
  
                       secondRequest.KeepAlive = false;
                       secondRequest.Timeout = 5000;
  
                       secondRequest.ServicePoint.ConnectionLeaseTimeout = 5000;
                       secondRequest.ServicePoint.MaxIdleTime = 5000;
  
                       // secondRequest.Headers["Set-Cookie"] = firstResponse.Headers["Set-Cookie"];
                       secondRequest.CookieContainer = cookieJar;
                       byte[] bytes2 = System.Text.Encoding.UTF8.GetBytes(Parameters2);
                       secondRequest.ContentLength = bytes2.Length;
                       //   httpWebRequest.
                       using (var os2 = secondRequest.GetRequestStream())
                       {
                           os2.Write(bytes2, 0, bytes2.Length);
                           os2.Close();
                       }
                       using (WebResponse secondResponse = secondRequest.GetResponse())
                       {
                           using (var sr = new StreamReader(secondResponse.GetResponseStream()))
                           {
  
                               respStr = sr.ReadToEnd().Trim();
                               sr.Close();
                           }
                       }
  
                       return respStr;
                   }
                   catch (Exception ee)
                   {
                       Logger(DateTime.Now + " , "+ ee.Message +" , "+ ee.StackTrace, 1);
                   }
                   finally
                   {
                       firstRequest.Abort();
                   }
                  return respStr;
               }
  </code></pre>