Monday, July 29, 2013

How to: Send Data Using the WebRequest Class

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {

//The remote server returned an error: (417) Expectation Failed.
System.Net.ServicePointManager.Expect100Continue = false;

            // Create a request using a URL that can receive a post.
            WebRequest request = WebRequest.Create("http://www.contoso.com/PostAccepter.aspx ");
            // Set the Method property of the request to POST.
            request.Method = "POST";
            // Create POST data and convert it to a byte array.
            string postData = "This is a test that posts this string to a Web server.";
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);
            // Set the ContentType property of the WebRequest.
            request.ContentType = "application/x-www-form-urlencoded";
            // Set the ContentLength property of the WebRequest.
            request.ContentLength = byteArray.Length;
            // Get the request stream.
            Stream dataStream = request.GetRequestStream();
            // Write the data to the request stream.
            dataStream.Write(byteArray, 0, byteArray.Length);
            // Close the Stream object.
            dataStream.Close();
            // Get the response.
            WebResponse response = request.GetResponse();
            // Display the status.
            Console.WriteLine(((HttpWebResponse)response).StatusDescription);
            // Get the stream containing content returned by the server.
            dataStream = response.GetResponseStream();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader(dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd();
            // Display the content.
            Console.WriteLine(responseFromServer);
            // Clean up the streams.
            reader.Close();
            dataStream.Close();
            response.Close();
        }
    }
}


The remote server returned an error: (417) Expectation Failed.

Solution :::

System.Net.ServicePointManager.Expect100Continue = false; (at first line)

add above line above WebRequest.......

// Create a request using a URL that can receive a post. 
WebRequest request = WebRequest.Create("http://www.contoso.com/PostAccepter.aspx ");

No comments:

Post a Comment

Coronavirus and Our Priorities – Amir Nasiruddin Sayani

First few cases of Coronavirus got reported in Wuhan, city of China in the month of December 2019. China started taking immediate actions ...