How to use HttpWebRequest and HttpWebResponse in .NET
======================================================
http://www.codeproject.com/Articles/6554/How-to-use-HttpWebRequest-and-HttpWebResponse-in-N
HttpWebRequest example with error handling (C#)
=============================================
http://www.808.dk/?code-csharp-httpwebrequest
HttpWebRequest example with xml data
====================================
http://www.codeproject.com/Articles/10430/Post-XML-Data-to-an-ASP-NET-Page-using-C
HttpWebRequest exaple with post Method
=======================================
http://vinothnat.blogspot.in/2007/09/httpwebrequest-post-method.html
1)
FOR NEW URL ADD THE PARAMETERS OF NEW URL BASED ON SPNAME
----------------------------------------------------------
string sSpName = "";
string sBillURL = "";
if (Request["spname"] != null)
sSpName = Request["spname"].ToString();
if (ConfigurationManager.AppSettings["BILL_URL_" + sSpName.ToUpper()] != null)
sBillURL = ConfigurationManager.AppSettings["BILL_URL_" + sSpName.ToUpper()].ToString();
if (!string.IsNullOrEmpty(sBillURL))
sBillURL = sBillURL+"?" + Request.QueryString.ToString();
under web.config
=========================
<add key="BILL_URL_MTNNIGERIA" value="http://localhost/Davinci/BillingApps/TpBilling/Default.aspx"/>
<add key="BILL_URL_MTN_SA" value="http://localhost/Davinci/BillingApps/TpBilling/Default.aspx"/>
2) webrequest method (it includes read headers and adding)
--------------------------------------------------------
private static Object MakeWebRequest(string strURL)
{
WebRequest objReq;
WebResponse objRes = null;
StreamReader objSr = null; ;
clsBillHeaders clsBillHeaderobj = new clsBillHeaders();
string strBinary = "";
try
{
objReq = WebRequest.Create(strURL);
objReq.Method = "GET";
objReq.Timeout = 6000;
try
{
string m_DefaultLimit = "5";
if (ConfigurationManager.AppSettings["DEFAULT_CONNECTIONS"] != null)
m_DefaultLimit = ConfigurationManager.AppSettings["DEFAULT_CONNECTIONS"].ToString();
ServicePointManager.DefaultConnectionLimit = int.Parse(m_DefaultLimit);
}
catch { }
objRes = objReq.GetResponse();
if (objRes.Headers != null && objRes.Headers["X-IMICMS-BILLRESP"] != null)
{
clsBillHeaderobj.X_IMICMS_BILLRESP1 = objRes.Headers["X-IMICMS-BILLRESP"].ToString();
}
if (objRes.Headers != null && objRes.Headers["X-IMICMS-BILL"] != null)
{
if (objRes.Headers["X-IMICMS-BILL"].ToUpper() == "YES")
{
clsBillHeaderobj.X_IMICMS_BILL1 = objRes.Headers["X-IMICMS-BILL"].ToUpper(); //true;
}
}
if (objRes.Headers != null && objRes.Headers["X-IMICMS-REDIRURL"] != null)
{
clsBillHeaderobj.X_IMICMS_REDIRURL1 = objRes.Headers["X-IMICMS-REDIRURL"].ToString();
}
if (objRes.Headers != null && objRes.Headers["X-IMICMS-TID"] != null)
{
clsBillHeaderobj.X_IMICMS_TID1 = objRes.Headers["X-IMICMS-TID"].ToString();
}
if (objRes.Headers != null && objRes.Headers["X-IMICMS-PREVDOWNLOAD"] != null)
{
clsBillHeaderobj.X_IMICMS_PREVDOWNLOAD1 = objRes.Headers["X-IMICMS-PREVDOWNLOAD"].ToString();
}
if (objRes.Headers != null && objRes.Headers["X-IMICMS-PRICE"] != null)
{
clsBillHeaderobj.X_IMICMS_PRICE1 = objRes.Headers["X-IMICMS-PRICE"].ToString();
}
objSr = new StreamReader(objRes.GetResponseStream());
strBinary = objSr.ReadToEnd();
}
catch (Exception ex)
{
// clsLogClient objClient = new clsLogClient();
// objClient.LogDebugMessage("", "CRASH MakeWebRequest:" + strURL + ":ERR:" + ex.Message, "", "", "");
// objClient = null;
// return "ERROR|CRASH MakeWebRequest:" + ex.Message;
}
finally
{
objSr.Close();
objRes.Close();
objReq = null;
objSr = null;
}
//return strBinary;
return clsBillHeaderobj;
}
3) Setting default connections
============================
under web.config
------------------
<add key="DEFAULT_CONNECTIONS" value="10"/>
string con = ConfigurationManager.AppSettings["DEFAULT_CONNECTIONS"].ToString();
ServicePointManager.DefaultConnectionLimit = int.parse(con);
4) webrequest.aspx.cs(using GET METHOD)
============================
under web.config
===================
<add key="test_url" value="http://localhost:61540/Mtncommontpbill/webresponse.aspx?uname=!txtuname!&pwd=!txtpwd!"/>
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnsubmit_Click(object sender, EventArgs e)
{
// calling webreq method with parameters
if (ConfigurationManager.AppSettings["test_url"] != null)
{
string url = ConfigurationManager.AppSettings["test_url"].ToString();
#region Replacing parameters
url = url.Replace("!txtuname!", txtuname.Text);
url = url.Replace("!txtpwd!", txtpwd.Text);
#endregion
makewebreq(url);
}
}
public void makewebreq(string url)
{
WebRequest objwebreq = null;
WebResponse objwebres = null;
objwebreq = WebRequest.Create(url);
objwebreq.Method = "Get";
objwebreq.Timeout = 6000;
StreamReader objSr = null; ;
string strBinary = "";
string s = "";
string s1 = "";
try
{
objwebres = objwebreq.GetResponse();
objSr = new StreamReader(objwebres.GetResponseStream());
strBinary = objSr.ReadToEnd();
if (objwebres.Headers != null && objwebres.Headers["header1"] != null)
s = Convert.ToString(objwebres.Headers["header1"]);
if (objwebres.Headers != null && objwebres.Headers["header2"] != null)
s1 = Convert.ToString(objwebres.Headers["header2"]);
}
catch (Exception ex)
{
ex.Message.ToString();
}
}
webresponse.aspx.cs
============
protected void Page_Load(object sender, EventArgs e)
{
if(Request["uname"]!=null && Request["pwd"] != null)
{
string uname = Convert.ToString(Request["uname"]);
string pwd = Convert.ToString(Request["pwd"]);
//Response.AddHeader("strresponsemessage", );
Response.AddHeader("header1", "success");
Response.AddHeader("header2", "failure");
// Response.Write("success"); incase if u sende single message
}
}
5) webrequset with post xml data
==============================
http://www.codeproject.com/Articles/10430/Post-XML-Data-to-an-ASP-NET-Page-using-C
6) webrequest xmldata.aspx.cs
==========================
string fileName = String.Empty;
string url = String.Empty;
WebRequest objWebrequest = null;
WebResponse objWebresponse = null;
protected void Page_Load(object sender, EventArgs e)
{
if (ConfigurationManager.AppSettings["xml_path"] != null)
fileName = Convert.ToString(ConfigurationManager.AppSettings["xml_path"]);
if (ConfigurationManager.AppSettings["xml_url"] != null)
url = Convert.ToString(ConfigurationManager.AppSettings["xml_url"]);
try
{
objWebrequest = WebRequest.Create(url);
objWebrequest.Timeout = 12000;
objWebrequest.Method = "POST";
objWebrequest.ContentType = "text/xml";
StreamWriter writer = new StreamWriter(objWebrequest.GetRequestStream());
// Write the XML text into the stream
writer.WriteLine(this.GetTextFromXMLFile(fileName));
writer.Close();
objWebresponse = objWebrequest.GetResponse();
}
catch(WebException webEx)
{
}
catch(Exception ex)
{
}
finally
{
if (objWebrequest != null) objWebrequest.GetRequestStream().Close();
if (objWebrequest != null) objWebresponse.GetResponseStream().Close();
}
}
private string GetTextFromXMLFile(string file)
{
StreamReader reader = new StreamReader(file);
string ret = reader.ReadToEnd();
reader.Close();
return ret;
}
webresponse xmldata.aspx.cs
============================
Page.Response.ContentType = "text/xml";
// Read XML posted via HTTP
StreamReader reader = new StreamReader(Page.Request.InputStream);
String xmlData = reader.ReadToEnd();
objXmldocument = new XmlDocument();
objXmldocument.LoadXml(xmlData);
XmlNodeList nodelist = objXmldocument.DocumentElement.SelectNodes("employee");
foreach (XmlNode node in nodelist)
{
string eno = node["eno"].InnerText;
string ename = node["ename"].InnerText;
Response.AddHeader("eno", eno);
Response.AddHeader("ename",ename);
}
7) webrequest with post method
============================
if (ConfigurationManager.AppSettings["webresponse_url_post"] != null)
url = Convert.ToString(ConfigurationManager.AppSettings["webresponse_url_post"]);
objWebrequest = WebRequest.Create(url);
objWebrequest.Timeout = 30000;
objWebrequest.Method = "POST";
stirng param = "";
param = "firstparam=one";
param += "&secoundparam=two";
byte[] objbyte = Encoding.UTF8.GetBytes(param);
objWebrequest.ContentType = "application/x-www-form-urlencoded";
objWebrequest.ContentLength = objbyte.Length;
Stream dataStream = objWebrequest.GetRequestStream();
dataStream.Write(objbyte, 0, objbyte.Length);
dataStream.Close();
objWebresponse = objWebrequest.GetResponse();
//if (HttpStatusCode.OK == Response.StatusCode)
//{
// dataStream = objWebresponse.GetResponseStream();
// StreamReader reader = new StreamReader(dataStream);
// // responseFromServer = reader.ReadToEnd();
// // File.WriteAllText(filepath, responseFromServer);
// // response.Close();
//}
}
8) webrequest and webresponse example
under webrequest page
======================
WebRequest objReq = null; ;
WebResponse objRes = null;
StreamReader objSreader = null;
string w_Connections = "5";
string headervalue = string.Empty;
try
{
objReq = WebRequest.Create("http://localhost:51734/xmlreading/webresponse.aspx?uname=ravi&pwd=password");
objReq.Method = "GET";
objReq.Timeout = 6000;
}
catch (Exception ex)
{
}
try
{
if (ConfigurationManager.AppSettings["Default_Connections"] != null)
w_Connections = Convert.ToString(ConfigurationManager.AppSettings["Default_Connections"]);
ServicePointManager.DefaultConnectionLimit = Convert.ToInt32(w_Connections);
objRes = objReq.GetResponse();
objSreader = new StreamReader(objRes.GetResponseStream());
string strBinary = objSreader.ReadToEnd().ToString();
XmlDocument weatherdoc = new XmlDocument();
weatherdoc.LoadXml(strBinary);
string sWeathertemplate = string.Empty;
string sWeatherdetailsTemp = string.Empty;
string weatherpath = string.Empty;
string stroutomldata = string.Empty;
XmlDocument sWeathertemplatedoc = new XmlDocument();
XmlNode sWeathertemplatedocelem;
XmlNode sWeatherdetailsTempelem;
XmlNode node = weatherdoc.DocumentElement.SelectSingleNode("channel/item");
if (node != null && node.HasChildNodes)
{
if (ConfigurationManager.AppSettings["pageApiConfig"] != null)
sWeathertemplatedoc.Load(ConfigurationManager.AppSettings["pageApiConfig"]);
sWeathertemplatedocelem = sWeathertemplatedoc.DocumentElement;
sWeatherdetailsTempelem = sWeathertemplatedoc.DocumentElement;
string strreplacedata = string.Empty;
string strweatherdetails = sWeathertemplatedocelem.SelectSingleNode("WEATHERDETAILS").InnerXml;
string tempdata = string.Empty;
for (int f = 0; f < node.ChildNodes.Count; f++)
{
if (node.ChildNodes[f].Name == "yweather:forecast")
{
if (node.ChildNodes[f].Attributes["date"] != null)
{
strreplacedata = sWeathertemplatedocelem.SelectSingleNode("WEATHERCONTENT/WEATHERNEWS").InnerXml;
string toDaydate = node.ChildNodes[f].Attributes["date"].Value;
string expected = node.ChildNodes[f].Attributes["text"].Value;
string high = node.ChildNodes[f].Attributes["high"].Value;
string low = node.ChildNodes[f].Attributes["low"].Value;
string day = node.ChildNodes[f].Attributes["day"].Value;
strreplacedata = strreplacedata.Replace("!IMGURL!", "images/partly_cloudy.png");
strreplacedata = strreplacedata.Replace("!date!", toDaydate);
strreplacedata = strreplacedata.Replace("!text!", expected);
strreplacedata = strreplacedata.Replace("!high!", high);
strreplacedata = strreplacedata.Replace("!low!", low);
strreplacedata = strreplacedata.Replace("!day!", day);
tempdata += strreplacedata;
}
}
}
strweatherdetails = strweatherdetails.Replace("!WEATHERCONTENT!", tempdata);
Response.ContentType = "xml";
Response.Write(strweatherdetails);
}
if (objRes.Headers != null && objRes.Headers["headerkey"] != null)
headervalue = Convert.ToString(objRes.Headers["headerkey"]);
}
catch (Exception ex)
{
}
finally
{
objReq = null;
objRes = null;
objSreader.Close();
objSreader = null;
}
under webresponse page
======================
if(HttpContext.Current.Request["uname"]!= null && HttpContext.Current.Request["pwd"]!= null)
{
Response.AddHeader("headerkey", HttpContext.Current.Request["uname"].ToString());
weatherxmlpath = "E:\\xmlreading\\xml\\weather.xml";
XmlDocument doc = new XmlDocument();
doc.Load(weatherxmlpath);
Response.Write(doc.InnerXml.ToString());
}
9) webrequest and webresponse (get ,post, xmldata sending and receiving)
under webrequest.cs
===================
WebRequest objWebReq = null;
WebResponse objWebRes = null;
StreamReader objSreader = null;
protected void Page_Load(object sender, EventArgs e)
{
webRequstbyGet();
webRequestbyPost();
webRequestXml(); // send xml as webrequest and get response as xml
}
private void webRequstbyGet()
{
WebRequest objWebReq = null;
WebResponse objWebRes = null;
StreamReader objSreader = null;
string headerresult = string.Empty;
try
{
objWebReq = WebRequest.Create("http://localhost:51734/xmlreading/webresponse.aspx?uname=ravi&pwd=password");
objWebReq.Timeout = 40000;
objWebReq.Method = "GET";
objWebRes = objWebReq.GetResponse();
objSreader = new StreamReader(objWebRes.GetResponseStream());
string sReaderresult = objSreader.ReadToEnd();
if(objWebRes.Headers != null && objWebRes.Headers["headerkey"] != null)
headerresult = Convert.ToString(objWebRes.Headers["headerkey"]);
}
catch (Exception ex)
{
}
finally
{
objSreader.Close();
objWebReq = null;
objWebRes = null;
}
Request.ContentType = "text/xml";
Response.Write(headerresult);
}
private void webRequestbyPost()
{
// throw new NotImplementedException();
WebRequest objWebReq = null;
WebResponse objWebResp = null;
StreamReader objSreader = null;
string resHeader = string.Empty;
string param = string.Empty;
try
{
objWebReq = WebRequest.Create("http://localhost:51734/xmlreading/webresponse.aspx");
objWebReq.Method = "POST";
objWebReq.Timeout = 60000;
param += "uname=ravi";
param += "&pwd=pwd";
byte[] objbytes = Encoding.UTF8.GetBytes(param);
objWebReq.ContentType = "application/x-www-form-urlencoded";
objWebReq.ContentLength = objbytes.Length;
Stream dataStream = objWebReq.GetRequestStream();
dataStream.Write(objbytes, 0, objbytes.Length);
dataStream.Close();
objWebResp = objWebReq.GetResponse();
if (objWebResp.Headers != null && objWebResp.Headers["headerkey"] != null)
resHeader = Convert.ToString(objWebResp.Headers["headerkey"]);
}
catch (Exception ex)
{
}
finally
{
objSreader.Close();
objWebReq = null;
objWebResp = null;
}
}
private void webRequestXml()
{
// send xml as webrequest and get response as xml
string filePath = string.Empty;
string webReqUrl = string.Empty;
string xmlWebResponse = string.Empty;
if(ConfigurationManager.AppSettings["xmlemppath"] != null)
filePath = Convert.ToString(ConfigurationManager.AppSettings["xmlemppath"]);
if (ConfigurationManager.AppSettings["webReqUrl"] != null)
webReqUrl = Convert.ToString(ConfigurationManager.AppSettings["webReqUrl"]);
try
{
objWebReq = WebRequest.Create(webReqUrl);
objWebReq.Timeout = 60000;
objWebReq.Method = "POST";
objWebReq.ContentType = "text/xml";
StreamWriter objWritter = new StreamWriter(objWebReq.GetRequestStream());
objWritter.WriteLine(this.GetTextFromXMLFile(filePath));
objWritter.Close();
objWebRes = objWebReq.GetResponse();
StreamReader objSreader = new StreamReader(objWebRes.GetResponseStream());
string resulxmlfromResponse = objSreader.ReadToEnd();
if (objWebRes.Headers != null && objWebRes.Headers["xmlwebresponseheader"] != null)
xmlWebResponse = Convert.ToString(objWebRes.Headers["xmlwebresponseheader"]);
}
catch (Exception ex)
{
}
finally
{
}
}
private string GetTextFromXMLFile(string filepath)
{
string strXml = string.Empty;
StreamReader objSreader = new StreamReader(filepath);
strXml = objSreader.ReadToEnd();
return strXml;
}
under webresponse.cs
====================
string weatherxmlpath = string.Empty;
XmlDocument objdoc = null;
protected void Page_Load(object sender, EventArgs e)
{
// to know the webRequest ip address
string pstrClientAddress = HttpContext.Current.Request.UserHostAddress;
// checking the ipconfig of client
if (HttpContext.Current.Request["uname"] != null && HttpContext.Current.Request["pwd"] != null && HttpContext.Current.Request["ipadd"]!= null)
{
if (HttpContext.Current.Request["ipadd"].ToString() == Dns.GetHostAddresses("www.google.com")[0].Address.ToString())
{
}
else
{
Response.Write("Access Denied");
}
Response.AddHeader("headerkey", HttpContext.Current.Request["uname"].ToString());
weatherxmlpath = "E:\\xmlreading\\xml\\weather.xml";
XmlDocument doc = new XmlDocument();
doc.Load(weatherxmlpath);
Response.Write(doc.InnerXml.ToString());
}
// Response.Write();
// reading xml as webrequest
Page.Response.ContentType = "text/xml";
StreamReader objSreader = new StreamReader(Page.Request.InputStream);
string strxml = objSreader.ReadToEnd();
objdoc = new XmlDocument();
objdoc.LoadXml(strxml);
Response.Write(objdoc.InnerXml.ToString());
}
No comments:
Post a Comment