HttpWebRequest request = WebRequest.CreateHttp("http://www.ooredoo.mv/edirectory");
request.Method = "POST";
request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0";
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
request.Referer = "http://www.ooredoo.mv/edirectory";
request.KeepAlive = true;
request.Headers.Add(HttpRequestHeader.Cookie, "PHPSESSID=cu722i6j4kkpm8d6lbp9e3f9t7; BNES_PHPSESSID=G4HHdpBzuOW4x+zrBTytg7K3VC/EPsvp1s8seSUzAXF9wXEIdzNA4a58Scih6NYP6qjl8ndRyTuux1ohMhhbww==");
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
request.Headers.Add(HttpRequestHeader.AcceptLanguage, "en-US,en;q=0.5");
request.ContentType = "application/x-www-form-urlencoded";
string postString = "number=9100000&code=Gfdf&submit=";
byte[] postData = Encoding.ASCII.GetBytes(postString);
request.ContentLength = postData.Length;
using (Stream stream = request.GetRequestStream())
{
stream.Write(postData, 0, postData.Length);
stream.Flush();
}
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) {//Timeout
//Some code which uses 'response'
}
But it keeps getting timeout at the request.GetResponse()
and gives me the exception : Unhandled Exception: System.Net.WebException: The request was aborted: The operation has timed out.
I am able to send the same request using firefox without any problem and I don't get a timeout. So this must be a problem with HttpWebRequest
Not sure what's wrong with my code. If you want, you can check the website yourself.
Edit: I used wireshark and after it makes the post request. It shows 5176 380.957168000 192.168.1.2 202.153.85.30 TCP 87 [TCP Retransmission] 56462→80 [PSH, ACK] Seq=637 Ack=26 Win=66048 Len=33[Reassembly error, protocol TCP: New fragment overlaps old data (retransmission?)]
If I do not write to the request stream, the server returns a 404 error. So its not a problem with my internet connection.