Tag Cloud

CRM 2011 (161) CRM 4.0 (144) C# (116) JScript (109) Plugin (92) Registry (90) Techpedia (77) PyS60 (68) WScript (43) Plugin Message (31) Exploit (27) ShellCode (26) FAQ (22) JavaScript (21) Killer Codes (21) Hax (18) VB 6.0 (17) Commands (16) VBScript (16) Quotes (15) Turbo C++ (13) WMI (13) Security (11) 1337 (10) Tutorials (10) Asp.Net (9) Safe Boot (9) Python (8) Interview Questions (6) video (6) Ajax (5) VC++ (5) WebService (5) Workflow (5) Bat (4) Dorks (4) Sql Server (4) Aptitude (3) Picklist (3) Tweak (3) WCF (3) regex (3) Config (2) LINQ (2) PHP (2) Shell (2) Silverlight (2) TSql (2) flowchart (2) serialize (2) ASHX (1) CRM 4.0 Videos (1) Debug (1) FetchXml (1) GAC (1) General (1) Generics (1) HttpWebRequest (1) InputParameters (1) Lookup (1) Offline Plug-ins (1) OutputParameters (1) Plug-in Constructor (1) Protocol (1) RIA (1) Sharepoint (1) Walkthrough (1) Web.config (1) design patterns (1) generic (1) iframe (1) secure config (1) unsecure config (1) url (1)

Pages

Friday, October 19, 2012

C#: HttpWebRequest example with error handling using C#

using System;

using System.IO;

using System.Net;

using System.Text;

 

public class HttpWebRequestTool

{

  public static void Main(String[] args)

  {

    if (args.Length < 2)

    {

      Console.WriteLine("Missing argument. Need a URL and a filename");

    }

    else

    {

      StreamWriter sWriter = new StreamWriter(args[1]);

      sWriter.Write(WRequest(args[0], "GET", ""));

      sWriter.Close();

    }

  }

 

  public static string WRequest(string URL, string method, string postData)

  {

    string responseData = "";

    try

    {

      System.Net.HttpWebRequest hwrequest =

        (System.Net.HttpWebRequest) System.Net.WebRequest.Create(URL);

      hwrequest.Accept = "*/*";

      hwrequest.AllowAutoRedirect = true;

      hwrequest.UserAgent = "http_requester/0.1";

      hwrequest.Timeout= 60000;

      hwrequest.Method = method;

      if (hwrequest.Method == "POST")

      {

        hwrequest.ContentType = "application/x-www-form-urlencoded";

        // Use UTF8Encoding instead of ASCIIEncoding for XML requests:

        System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();

        byte[] postByteArray = encoding.GetBytes(postData);

        hwrequest.ContentLength = postByteArray.Length;

        System.IO.Stream postStream = hwrequest.GetRequestStream();

        postStream.Write(postByteArray, 0, postByteArray.Length);

        postStream.Close();

      }

      System.Net.HttpWebResponse hwresponse =

        (System.Net.HttpWebResponse) hwrequest.GetResponse();

      if (hwresponse.StatusCode == System.Net.HttpStatusCode.OK)

      {

        System.IO.Stream responseStream = hwresponse.GetResponseStream();

        System.IO.StreamReader myStreamReader =

          new System.IO.StreamReader(responseStream);

        responseData = myStreamReader.ReadToEnd();

      }

      hwresponse.Close();

    }

    catch (Exception e)

    {

      responseData = "An error occurred: " + e.Message;

    }

    return responseData;

  }

}

 

No comments: