C # POST con manejo de excepciones

utilizando el sistema;
usando System.Collections.Generic;
usando System.IO;
usando System.Linq;
usando System.Net;
usando System.Text;

espacio de nombres Bst.PulgIn
{ Public
    static class PostHelp
    {
        /// <summary>
        /// POST 整个 字符串 到 URL 地址 中
        /// </summary>
        /// <param name = "Url"> </param>
        / // <param name = "jsonParas"> </param>
        /// <returns> </returns>
        cadena estática pública PostUrl (string Url, string jsonParas)
        {
            string strURL = Url;

            // Crear una solicitud HTTP 
            HttpWebRequest request = (HttpWebRequest) WebRequest.Create (strURL);
            // Método de
            solicitud de solicitud  request.Method = "POST";
            // Tipo de contenido
            request.ContentType = "application / x-www-form-urlencoded ";

            // Establecer parámetros y codificar URL

            string paraUrlCoded = jsonParas; // System.Web.HttpUtility.UrlEncode (jsonParas); 

            byte [] payload;
            // Convierte la cadena Json en bytes 
            payload = System.Text.Encoding.UTF8.GetBytes (paraUrlCoded);
            // Establece la solicitud ContentLength solicitada.ContentLength 
            = payload.Length;
            // Envía la solicitud, obtén Flujo de solicitud

            Escritor de secuencias;
            intente
            {
                writer = request.GetRequestStream (); // Obtenga el objeto Stream utilizado para escribir los datos de solicitud
            }
            catch (Excepción)
            {
                writer = null;
                Console.Write ("¡Error al conectarse al servidor!");
            }
            // Escriba los parámetros de solicitud en el
            escritor de secuencias. Escriba (carga útil, 0, carga útil. Longitud);
            escritor.Cerrar (); // Cierre la secuencia de solicitudes

            // String strValue = ""; // strValue es el flujo de caracteres devuelto por la respuesta http
            HttpWebResponse response;
            intente
            {
                // Obtenga el flujo de
                respuesta response = (HttpWebResponse) request.GetResponse ();
            }
            catch (WebException ex)
            {
                response = ex .Response como HttpWebResponse;
            }

            Secuencia s = respuesta.GetResponseStream ();

            // Stream postData = System.Web.HttpContext.Current.Request.InputStream;
            StreamReader sRead = nuevo StreamReader (s);
            cadena postContent = sRead.ReadToEnd ();
            sRead.Close ();

            return postContent; // Devuelve datos Json
        }
    }
}
 

21 artículos originales publicados · 21 alabanzas · 40,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/kuyz1/article/details/88220648
Recomendado
Clasificación