• C# 调用POST请求


            public static void PostUrl_Ex(string url, string postData)
            {
                try
                {
                    //对于提交内容中的中文使用UrlEncode方式编码 发送
                    //string dataSource = "name=1234&qq=1234421&topicName=%E5%BA%86%E7%86%99%E5%A4%A7%E5%AD%A6MBA";
                    string dataSource = postData;
                    //Http协议内容 使用ASCII码字符
                    byte[] data = Encoding.ASCII.GetBytes(dataSource);
    
                    //发送信息
                    //HttpWebRequest req = WebRequest.CreateHttp(url);
                    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                    req.Method = "post";
                    req.ContentType = "application/json";
    
                    //req.Timeout = 5 * 1000;//请求超时时间
    
                    //Accept - Language:zh - CN,zh; q = 0.8
                    req.Headers.Add("Accept-Language", "zh - CN,zh; q = 0.8");
                    req.Credentials = new NetworkCredential("root", "root123");
    
                    //指定客户端代理的方式
                    //req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2560.0 Safari/537.36";
                    //此方式不可用
                    //req.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2560.0 Safari/537.36");
                    //添加Post参数
                    Stream reqStream = req.GetRequestStream();
                    reqStream.Write(data, 0, data.Length);
                    reqStream.Close();
    
                    //接收相应
                    HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
                    Stream respStream = resp.GetResponseStream();
                    StreamReader reader = new StreamReader(respStream, Encoding.UTF8);
                    string result = reader.ReadToEnd();          
                    reader.Close();
                }
                catch (Exception e)
                {
                   //e.Message.ToString()
                }
            }
     

    
    
            /// <summary>
            /// 
            /// </summary>
            /// <param name="url">为请求地址: http://127.0.0.1:8080/wms/broadcast/startAlarmTaskTTS </param>
            /// <param name="postData">请求内容 Json格式串</param>
            /// <returns></returns>
            public static string PostUrl(string url, string postData)
            {
                string result = "";
                while (true)
                {
                    try
                    {
                        HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                        req.Method = "POST";
                        req.ContentType = "application/json";
                        req.Timeout = 5 * 1000;//请求超时时间
                        //req.ReadWriteTimeout = 5 * 1000;  //访问成功后读写流超时                
                        req.Credentials = new NetworkCredential("root", "root123");
                        //byte[] data = Encoding.UTF8.GetBytes(postData);
                        //req.ContentLength = data.Length;
                        using (var streamWriter = new StreamWriter(req.GetRequestStream()))
                        {
                            streamWriter.Write(postData);
                            streamWriter.Flush();
                            streamWriter.Close();                      
                        }
    
                        HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
                        if (resp.StatusCode != HttpStatusCode.OK) //如果服务器未响应,那么继续等待相应
                            continue;                   
                        Stream stream = resp.GetResponseStream();
                        //获取响应内容
                        using (StreamReader reader = new StreamReader(stream))
                        {
                            result = reader.ReadToEnd();
                        }
                    }
                    catch (Exception e)
                    {
                         MessageBox.Show(e.Message.ToString());
                    }
    
                    return result;               
                }
            }

    本文链接:https://blog.csdn.net/cn_514/article/details/100037524

    欢迎加群交流 QQ群 830426796

  • 相关阅读:
    材料订单不在IN_MO或者IN_SCFHEADER中
    FP ABPPMGR表 其它常用存储过程
    ORA-01578 ORACLE data block corrupted (file # 29, block # 2889087)
    PR合并回写
    MySQL优化
    分享一些JVM常见的面试题(转)
    怎么保证 redis 和 db 中的数据一致
    User space(用户空间) 与 Kernel space(内核空间)
    如何设计一个安全的对外接口?(转)
    Jstack命令详解
  • 原文地址:https://www.cnblogs.com/yc1224/p/11399867.html
Copyright © 2020-2023  润新知