精华内容
下载资源
问答
  • C#winform调用接口实例

    2020-12-14 17:09:27
    1、C#winform 调用webserver 接口 try { string company = string.Empty; string str_ ="dd"; company = SalTransaction.DbValSelect(str_, false); ProductLogist.LogisticServiceClient client...

    1、C#winform 调用webserver 接口 

    try
                {
                    string company = string.Empty;
                    string str_ ="dd";
                    company = SalTransaction.DbValSelect(str_, false);
    
                    ProductLogist.LogisticServiceClient client = new ProductLogist.LogisticServiceClient();  //引用wcf接口
                    ProductLogist.LogisticInfoRequest req = new ProductLogist.LogisticInfoRequest()
                    {
                        OrderNo = orderNo,
                        CompanyID = company,
                        Address = address,
                        LinkMan = contact,
                        Tel = tel,
                        Dcode = this.txtsMasterdataSourceBindingRegionDesc.Text,
                        LogisticsCompany = logisticsCompany,
                        Logistics = currEntity.ship_method
                    };
                    ProductLogist.LogisticInfoResponse sponse = client.LogisticInfo(req);
                    if (sponse.LogisticInfoResult.IsOK == "E")
                    {
                        if (!sponse.LogisticInfoResult.Message.Contains("不存在该订单"))
                        {
                            SalMessage.Error("推送生产系统失败:" + sponse.LogisticInfoResult.Message);
                            return;
                        }
                    }
                }
                catch (Exception ex)
                {
                    SalMessage.Error("推送生产系统异常!");
                    return;
                }

    2、C#winform 调用api接口传图multipart/form-data 类型的接口

    filePath 是打开弹窗后选择的图片

    url 接口地址

    -- =====================================================

    try
                        {
                            string fileName_key_ = "kekename\\" + Path.GetFileName(filePath);
                            string access_token = "fz434507768345eb7a8e97897";
                            byte[] fileContentByte = new byte[1024]; // 文件内容二进制
                            #region 将文件转成二进制
                            FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
                            fileContentByte = new byte[fs.Length]; // 二进制文件
                            fs.Read(fileContentByte, 0, Convert.ToInt32(fs.Length));
                            fs.Close();
                            #endregion
    
                            #region 定义请求体中的内容 并转成二进制  *********************************************************      重点 :拼接参数 *******************************************************
                            string boundary = "ceshi";
                            string Enter = "\r\n";
                            //string modelIdStr = "--" + boundary + Enter
                            //        + "Content-Disposition: form-data; name=\"modelId\"" + Enter + Enter
                            //        + modelId + Enter;
    
                            string fileContentStr = "--" + boundary + Enter
                                    + "Content-Type:application/octet-stream" + Enter
                                    + "Content-Disposition: form-data; name=\"file\"; filename=\"" + filePath + "\"" + Enter + Enter;
    
                            string updateTimeStr = Enter + "--" + boundary + Enter
                                    + "Content-Disposition: form-data; name=\"key\"" + Enter + Enter
                                    + fileName_key_;
    
                            string encryptStr = Enter + "--" + boundary + Enter
                                    + "Content-Disposition: form-data; name=\"access_token\"" + Enter + Enter
                                    + access_token + Enter + "--" + boundary + "--";
    
                            // var modelIdStrByte = Encoding.UTF8.GetBytes(modelIdStr);//modelId所有字符串二进制
                            var fileContentStrByte = Encoding.UTF8.GetBytes(fileContentStr);//fileContent一些名称等信息的二进制(不包含文件本身)
                            var updateTimeStrByte = Encoding.UTF8.GetBytes(updateTimeStr);//updateTime所有字符串二进制
                            var encryptStrByte = Encoding.UTF8.GetBytes(encryptStr);//encrypt所有字符串二进制
                            #endregion *********************************************************      重点 :拼接参数 *******************************************************
    
    
                            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                            request.Method = "POST";
                            request.ContentType = "multipart/form-data;boundary=" + boundary;
    
                            Stream myRequestStream = request.GetRequestStream();//定义请求流
    
                            #region 将各个二进制 安顺序写入请求流 modelIdStr -> (fileContentStr + fileContent) -> uodateTimeStr -> encryptStr
                            // myRequestStream.Write(modelIdStrByte, 0, modelIdStrByte.Length);
                            myRequestStream.Write(fileContentStrByte, 0, fileContentStrByte.Length);
                            myRequestStream.Write(fileContentByte, 0, fileContentByte.Length);
                            myRequestStream.Write(updateTimeStrByte, 0, updateTimeStrByte.Length);
                            myRequestStream.Write(encryptStrByte, 0, encryptStrByte.Length);
                            #endregion
    
                            HttpWebResponse response = (HttpWebResponse)request.GetResponse();//发送
                            Stream myResponseStream = response.GetResponseStream();//获取返回值
                            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
    
                            string retString = myStreamReader.ReadToEnd();
                            myStreamReader.Close();
                            myResponseStream.Close();
    
                            JObject jo = (JObject)JsonConvert.DeserializeObject(retString);
                            string Code = jo["code"].ToString();
                            string desc = jo["desc"].ToString();
                            string data = jo["data"].ToString();
                            JObject datajson = (JObject)JsonConvert.DeserializeObject(data);
                            string file_url_ = datajson["file_url"].ToString();
                            if (Code == "0")
                            {
                                UpdateImgSerialInfo("5", file_url_);
                            }
                            else
                            {
                                SalMessage.Error("上传图片失败,接口返回:" + desc);
                            }
    
                        }
                        catch(Exception ex)
                        {
                            SalMessage.Error("上传图片出错:" + ex);
                        }
    
    -- =====================================================

    3、普通API调用 application/json 类型

                       

    3.1 调用方式:             

           StringBuilder strJSON = new StringBuilder();                
    
                        strJSON.Append("{ \"TenantID\":\"20191022172020\",");
                        strJSON.Append("\"TimeStamp\":\"\",");
                        strJSON.Append(" \"AppID\":\"\"");
                        strJSON.Append("}");
                        string key_ = postApi("http://192.172.10.14:8999/MES/v1/Auth/GetSign", strJSON.ToString());
    
    
         //组装请求参数
            private string BuildQuery(IDictionary<string, string> parameters, string encode)
            {
                StringBuilder postData = new StringBuilder();
                bool hasParam = false;
                IEnumerator<KeyValuePair<string, string>> dem = parameters.GetEnumerator();
                while (dem.MoveNext())
                {
                    string name = dem.Current.Key;
                    string value = dem.Current.Value;
                    // 忽略参数名或参数值为空的参数
                    if (!string.IsNullOrEmpty(name))
                    {
                        if (hasParam)
                        {
                            postData.Append("&");
                        }
                        postData.Append(name);
                        postData.Append("=");
                        if (encode == "gb2312")
                        {
                            postData.Append(HttpUtility.UrlEncode(value, Encoding.GetEncoding("gb2312")));
                        }
                        else if (encode == "utf8")
                        {
                            postData.Append(HttpUtility.UrlEncode(value, Encoding.UTF8));
                        }
                        else
                        {
                            postData.Append(value);
                        }
                        hasParam = true;
                    }
                }
                return postData.ToString();
            }
    
    
    
    
            private string postApi(string url, string strJSON)
            {
                HttpWebRequest requestScore = null;
                Stream stream = null;
                StreamReader reader = null;
                HttpWebResponse responseSorce = null;
                try
                {
    
                    requestScore = (HttpWebRequest)WebRequest.Create(url);
                    byte[] data = Encoding.UTF8.GetBytes(strJSON.ToString());
                    requestScore.Method = "Post";
                    requestScore.ContentType = "application/json"; // "application/x-www-form-urlencoded";
                    requestScore.ContentLength = data.Length;
                    requestScore.KeepAlive = true;
    
                    stream = requestScore.GetRequestStream();
                    stream.Write(data, 0, data.Length);
                    stream.Close();
                    responseSorce = (HttpWebResponse)requestScore.GetResponse();
                    reader = new StreamReader(responseSorce.GetResponseStream(), Encoding.UTF8);
                    string content = reader.ReadToEnd();
                    return content;
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
                finally
                {
                    requestScore = null;
                    if (responseSorce != null)
                    {
                        responseSorce.Close();
                        responseSorce = null;
                    }
                    if (reader != null)
                    {
                        reader.Close();
                        reader.Dispose();
                        reader = null;
                    }
                    if (stream != null)
                    {
                        stream.Close();
                        stream.Dispose();
                        stream = null;
                    }
                }
            }

     

     

    4、.net 调用webaip           

     string url = ConfigurationManager.AppSettings["WordD"].ToString();
                int i = 0;
                ResOrderForWork ForWork = null;
                StringBuilder strJSON = new StringBuilder();
                try
                {
                    strJSON.Append("data={ \"CustomerPhone\":\"" + req.CustomerPhone + "\",");
                    strJSON.Append("\"OrderNo\":\"" + req.OrderNo + "\",");
                    strJSON.Append(" \"PayStatus\":\"" + req.PayStatus + "\",");
                    strJSON.Append("\"OrderLine\":[");
                    foreach (var r in req.OrderLine)
                    {
                        i++;
    
                        if (req.OrderLine.Count == i)
                        {
                            strJSON.Append("{\"PlateTaskNo\":\"" + r.PlateTaskNo + "\",\"OrderLineNo\":\"" + r.OrderLineNo + "\"}");
                        }
                        else
                        {
                            strJSON.Append("{\"PlateTaskNo\":\"" + r.PlateTaskNo + "\",\"OrderLineNo\":\"" + r.OrderLineNo + "\"},");
                        }
                    }
                    strJSON.Append("]");
                    strJSON.Append("}");
                    HttpClient httpClient = new HttpClient();
                    HttpResponseMessage response = httpClient.PostAsync(url, new StringContent(strJSON.ToString(), Encoding.UTF8, "application/x-www-form-urlencoded")).Result;
                    JObject jo = (JObject)JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
                    var Code = jo["code"].ToString();
                    var desc = jo["desc"].ToString();
                    var Message = jo["message"].ToString();
                    ForWork = new ResOrderForWork()
                    {
                        Code = Code,
                        desc = desc,
                        Message = Message
                    };
                }
                catch (Exception e)
                {
                    Common.Log.InsertMessage("[调接口异常 : " + e);
                }
    
    

     

     

     

     

    展开全文
  • C#WinForm程序,CS端的程序,怎么定义接口来和其它接口互相同步数据 ,新手求指导。
  • public string Post(string Url, string jsonParas) { string strURL = Url; ...HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL); //Post请求方式 request.Method = “POST”;...
    
    ```csharp
    
    
     public string Post(string Url, string jsonParas)
            {
                string strURL = Url;
                //创建一个HTTP请求  
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);
                //Post请求方式  
                request.Method = "POST";
                //内容类型
                request.ContentType = " application/x-www-form-urlencoded";
                request.UserAgent = "app";
                //设置参数,并进行URL编码 
                string paraUrlCoded = jsonParas;//System.Web.HttpUtility.UrlEncode(jsonParas);   
                byte[] payload;
                //将Json字符串转化为字节  
                ASCIIEncoding encoding = new ASCIIEncoding();
                payload = encoding.GetBytes(paraUrlCoded);
                //设置请求的ContentLength   
                request.ContentLength = payload.Length;
                //发送请求,获得请求流 
    
                Stream writer;
                try
                {
                    writer = request.GetRequestStream();//获取用于写入请求数据的Stream对象
                }
                catch (Exception)
                {
                    writer = null;
                    Console.Write("连接服务器失败!");
                }
                //将请求参数写入流
                writer.Write(payload, 0, payload.Length);
                writer.Close();//关闭请求流
                               // String strValue = "";//strValue为http响应所返回的字符流
                HttpWebResponse response;
                try
                {
                    //获得响应流
                    response = (HttpWebResponse)request.GetResponse();
                }
                catch (WebException ex)
                {
                    response = ex.Response as HttpWebResponse;
                }
                Stream s = response.GetResponseStream();
                //  Stream postData = Request.InputStream;
                StreamReader sRead = new StreamReader(s);
                string postContent = sRead.ReadToEnd();
                sRead.Close();
                return postContent;//返回Json数据
            }
    
    
        }
        参数使用 key=value&key=value
    
    
    
    展开全文
  • 通过SunnyUI,自己做的一个美化界面的小程序,实现界面各种控件的美化,仅供学习参考,可能会对大家做Winform桌面程序搭建框架有所帮助
  • c# winform Get请求接口

    2021-06-14 10:18:33
    引用using System.Net; 实现步骤: 1.通过WebRequest类创建一个HttpWebRequest的对象,该对象可以包含Http请求信息。 ... ... 4.从响应信息中获取响应头信息和响应主体信息。...public string GetMethod() ... string

    引用using System.Net;
    实现步骤:
    1.通过WebRequest类创建一个HttpWebRequest的对象,该对象可以包含Http请求信息。
    2.设置HttpWebRequest对象,其实就是设置Http请求报文的信息内容。
    3.从HttpWebRequest对象中获取HttpWebResponse对象,该对象包含Http响应信息。
    4.从响应信息中获取响应头信息和响应主体信息。

    public string GetMethod()
            {
                string ResponseInfo = "";
                string url = "http://192.168.888.88/nanqu/test/testGet";
                //编码处理
                string name = System.Web.HttpUtility.UrlEncode("TestName");
                //唯一标识符
                string TestGuid = Guid.NewGuid().ToString(); 
                //key
                string apikey = "1234567890";
                //拼接参数
                string jsonstr = "?TestGuid=" + TestGuid + "&name=" + name + "&apikey=" + apikey + "";
                url = url + jsonstr;
    
                #region get方式
                //设置编码方式
                Encoding encoding = Encoding.UTF8;
                //创建HTTP请求
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "GET";
                request.Accept = "text/html, application/xhtml+xml, */*";
                request.ContentType = "application/json";
    
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
                {
                    ResponseInfo = reader.ReadToEnd();
                }
    
                return ResponseInfo;
                #endregion
            }
    
    展开全文
  • 主要介绍了C# Winform调用百度接口实现人脸识别教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Web Service 的创建简单编码、发布和部署 上一篇详细概述了WebService...C#winForm调用WebService的远程接口 创建一个WebService工程用例 添加服务引用 添加webService服务地址 输入命名空间名称 主要代码 ...

    Web Service 的创建简单编码、发布和部署

    上一篇详细概述了WebService的创建,编码,发布和部署,那么作为客户端的程序如何访问远程端的WebService

    接下来看一下具体步骤:

     

    C#winForm调用WebService的远程接口

    • 创建一个WebService工程用例
    • 添加服务引用
    • 添加webService服务地址
    • 输入命名空间名称
    • 主要代码
    • 测试成功截图
    • 工程代码下载

    新建一个测试工程用例如图:

     

    布局如图:

    1、添加服务引用

     
     

    2、在弹出的添加服务引用对话框地址栏中输入WebService地址,

    如:http://localhost:6677/webservice1.asmx

     

     

    3、输入命名空间名称或保持默认

    4、主要测试代码:

    复制代码
     1        myWebServiceTest.WebService1SoapClient myWebService = null;
     2         private void Form1_Load(object sender, EventArgs e)
     3         {
     4             myWebService = new myWebServiceTest.WebService1SoapClient("WebService1Soap");  
     5         }
     6         private void button1_Click(object sender, EventArgs e)
     7         {
     8             textBox1.Text = myWebService.HelloWorld();
     9         }
    10 
    11         private void button2_Click(object sender, EventArgs e)
    12         {
    13             textBox2.Text = myWebService.GetStr(textBox3.Text);
    14         }
    复制代码

    访问WebService服务端的代码:

    复制代码
     1         [WebMethod]
     2         public string HelloWorld()
     3         {
     4              return "Hello World";
     5         }        
     6 
     7 
     8        [WebMethod]
     9         public string GetStr(string name)
    10         {
    11              return this.HelloWorld() + "-->:" + name;
    12         }
    复制代码

     

    5、运行结果图:

    转载于:https://www.cnblogs.com/wwwbdabc/p/10551631.html

    展开全文
  • 非常方便 ^_^ 代码如下: // 系统接口类 public static class WinAPI { [DllImport(“kernel32”)] // 写入配置文件的接口 private static extern long WritePrivateProfileString( string section, string key, ...
  • 继续,前面已经实现了C#调用Windows API实现了弹出对话框功能。使用了User32.dll文件,主要代码如下:[DllImport("User32.dll")]public static extern int MessageBox(int h, string m, string c, int type);详情请...
  • C# Winform调用百度接口实现人脸识别教程源码完整版 这是一篇完整的人脸识别系统,源码已经附上,按照我的步骤,可以实现人脸识别登录呦!!!当然,前提是你有耐心看完! 目录C# Winform调用百度接口实现人脸识别...
  • C# Winform调用百度接口实现身份证文字识别教程源码完整版 这是一篇完整的身份证文字识别系统,源码已经附上,按照我的步骤,可以实现人脸识别登录呦!!!当然,前提是你有耐心看完! 目录C# Winform调用百度接口...
  • C#Winform中通过RestSharp调用Java的Restful接口的常规操作背景Restful API接口发布在C#中使用RestSharp调用Restful API使用RestSharp调用Get接口在C#中使用RestSharp调用Post接口在C#中使用RestSharp实现文件上传在...
  • C# WinForm 系统框架

    热门讨论 2010-04-30 16:35:07
    C# WinForm 系统框架包括:版本控制、 动态权限管理、数据字典、可扩展的功能接口。方便学习使用Access数据库。
  • 步骤: 1.随便创建个项目 2.下载DEMO,这里建议在支付宝官网下载最新版本 3.解压DEMO,添加引用AopSdk和F2FPayDll到我们的新建项目 ...4.找到我们下载DEMO中的Config.cs,把里面的内容复制到我们Form1.cs下 ...
  • C# Winform开发,小白接口管理系统 - V1.0(开发及使用说明) 重要的下载地址 C#项目源代码下载(OkayApiAdmin):https://gitee.com/dogstar/okayapi-demo/tree/master/c_sharp 小白接口管理系统 - 绿色版 - V...
  • 总体思路如下:先建立数据库,再建立webservice,最后通过winform的按钮来调用服务,达到操作数据库的目的。
  • C# winForm调用WebService

    2017-08-20 17:37:00
    C#winForm调用WebService的远程接口 创建一个WebService工程用例 添加服务引用 添加webService服务地址 输入命名空间名称 主要代码 测试成功截图 工程代码下载 新建一个测试工程用例如图: 布局如图...
  • 我的程序A,现在要实现操作外部程序B /C/ D/ E,外部程序是其他语言的,比如VB VC DELPHI...等等,是否可以写个接口来实现并让外部程序只能通过我的程序才能打开运行它们?求高手给个思路,具体该走哪些步骤。
  • C# Winform开发的英语词典,调用了Google翻译、百度翻译、金山词霸、海词翻译等接口
  • 1.发送手机验证码用的是网建的SMS接口(http://sms.webchinese.cn/)   2.手机验证码简单的做了以下限制:     ①发送验证码1分钟只能点击发送1次     ②相同IP手机号码1天最多提交20次(这里我用的是本地...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 453
精华内容 181
关键字:

c#winform接口

c# 订阅