Getting "Handshake failed...unexpected packet format" when using WebClient.UploadFile() with "https" when the server has a valid SSL certificate

You have to make sure the port you are connecting to is port 443 instead of port 80.

Example of explicitly setting the port to be used in the URL:

var request = (HttpWebRequest) WebRequest.Create("https://example.com:443/");
request.Method = "GET";
request.UserAgent = "example/1.0";
request.Accept = "*/*";
request.Host = "example.com";

var resp = (HttpWebResponse) request.GetResponse();

You can also get this error if you're clueless like me and don't recognize that your web server project has crashed and is no longer running.