HttpWebRequest Post method

HttpWebRequest Post method
In this post, I will Check "Yahoo online user status" using ASp.net and HttpWebRequest POST method. You can see the below screen shot. Also watch video about HttpWebRequest in Asp.net.

Add Button control in your web page and write down below code to see yahoo user online status. Your aspx page will look like below one

 <form id="form1" runat="server">

<div>

Status:
<asp:Label
ID="Label1" runat="server" Text="Label" BackColor="#FFFF80" ForeColor
="#0000C0">
</
asp:Label><br />

Yahoo user name:

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text=":) Check Online Status !" />

</div>

</form>



On click event of button, we will post the user name to Yahoo and Yahoo will response the user online status.

We will use HttpWebRequest post method and HttpWebResponse to receive the response.

Add below name space in your code  

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Net;


  

public partial class Default2 : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

Label1.Text = "";

}

protected void Button2_Click(object sender, EventArgs e)

{

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://opi.yahoo.com/online");

request.Timeout = 9 * 1000; // set request timeout = 9 second. if yahoo api failed to respond in 9 second request would get timed out.

request.Method = "Post"; // we will post the data using post method

string postData = "u=" + TextBox1.Text + "&m=s&t=8" ;

// data to be posted using HttpWebrequest post method

// we will post parameter u , m and t

// Convert this string into stream of bytes

byte[] arrPostDAta = System.Text.Encoding.GetEncoding(1252).GetBytes(postData);

// set request content length = post data length

request.ContentLength = arrPostDAta.Length;

System.IO.Stream strmPostData = request.GetRequestStream();

// get request stream

// write post data to stream of request

strmPostData.Write(arrPostDAta, 0, arrPostDAta.Length);

strmPostData.Close();

// upload post data and Get Response from server

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

StreamReader reader = new StreamReader(response.GetResponseStream());

Label1.Text = reader.ReadToEnd();

reader.Close();

response.Close();

}

}



HttpWebRequest and HttpWebResponse objects can be found under namepsace System.Net;

Label will show you yahoo online user status.

I learned HttpWebRequest and HttpWebResponse using this article
http://www.west-wind.com/presentations/dotnetWebRequest/dotnetWebRequest.htm

You can also watch below 8min video to understand how it works.


Satalaj

Postback from JavaScripthttpwebrequest web proxyJQuery Ajax PostHttpWebRequest and yahooHttpWebRequestHttpWebRequest TimeoutC# SystemIOFileReadAllLines() methodHow to use HttpWebRequest and HttpWebResponse.C# Parse method of DateTimeC# ArrayList Search using Linq Extension OfType Methodc# send SMS (Text)

Author

My name is Satalaj, but people call me Sat. Here is my homepage: . I live in Pune, PN and work as a Software Engineer. I'm former MVP in ASP.net year 2010.
Disclaimer: Views or opinion expressed here are my personal research and it has nothing to do with my employer. You are free to use the code, ideas/hints in your projects. However, you should not copy and paste my original content to other web sites. Feel free to copy or extend the code.
If you want to fight with me, this website is not for you.
 

I'm Satalaj.