精华内容
下载资源
问答
  • 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);
                }
    
    

     

     

     

     

    展开全文
  • webapi 项目平台,包含接口生成,及接口调用方法,项目代码清晰明了,非常值得初学者参考借鉴
  • 主要介绍了C# Winform调用百度接口实现人脸识别教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Winform请求接口地址

    千次阅读 2018-03-22 13:49:19
    namespace WinForm_GetUrl { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string url = @...

    代码如下:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WinForm_GetUrl
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                string url = @"http://192.168.0.178:8039/VR720Service/GetCreateVR.php?Id=01&Url=D:\TianHaiMingWang\ZipFileNav&Name=s2.zip&Tooken=2e2b5c70-06b3-4a17-a2e3-b7c2de828b86";
                string urlDB =   Of_GetStr(url);
            }
            public string Of_GetStr(string url)
            {
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                string ret = string.Empty;
                Stream s;
                string StrDate = "";
                string strValue = "";
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    s = response.GetResponseStream();
                    StreamReader Reader = new StreamReader(s, Encoding.UTF8);
                    while ((StrDate = Reader.ReadLine()) != null)
                    {
                        strValue += StrDate;
                    }
                }
                return strValue;
            }
        }
    }
    

    展开全文
  • winform给html提供接口

    2011-06-29 23:43:00
    winform提供皮 privatevoidForm1_Load(objectsender,EventArgse){Externalext=newExternal(this);webBrowser1.ObjectForScripting=ext;}}[System....

    winform提供皮

     

     

            private   void  Form1_Load( object  sender, EventArgs e)
            {
                External ext 
    =   new  External( this );
                webBrowser1.ObjectForScripting 
    =  ext;
            }


        }
        [System.Runtime.InteropServices.ComVisibleAttribute(
    true )]
        
    public   class  External
        {
            Form form;
            
    public  External(Form form)
            {
                
    this .form  =  form;
            }

            
    public   void  wappFullScreen( bool  flag)
            {
                
    if  (flag)
                {
                    form.WindowState 
    =  FormWindowState.Maximized;
                }
                
    else
                {
                    form.WindowState 
    =  FormWindowState.Normal;
                }

            }

        }

     

    脚本可以调用得到

     

     window.external.wappFullScreen(flag); 

    转载于:https://www.cnblogs.com/gateluck/archive/2011/06/29/2093879.html

    展开全文
  • C# winform调用接口 传参方式

    千次阅读 2019-11-14 15:33:38
    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
    
    
    
    展开全文
  • 封装了一小段代码, 调用系统接口, 操作配置文件. 一般用于 .ini 文件, 或者其它键值对格式的配置文件
  • Winform C#客户端调用接口方法封装

    千次阅读 2019-06-02 14:07:06
    Winform C#客户端调用接口方法封装 编码中,偶尔需要调用其他方提供的API或者其他端交互的API。封装了常用的调用的get请求与post的请求。 接口返回值为Json,复制返回值通过VisualStudio 【编辑】--》【选择性粘贴...
  • 该DEMO 演示了调用API 播放一段已经录制好的音频文件,可用于业务评价系统,叫号系统
  • WinForm 调用Web API接口

    千次阅读 2020-05-17 00:03:02
    } #endregion #region 统一请求响应 /// /// 统一请求响应 /// /// 接口路径 /// 操作类型 post/get /// post方式需要传递的值 /// 错误提示文本 /// public static string GetDates(string Url, string cz, object...
  • winform 共享接口源码

    2009-11-26 14:07:09
    winform 共享接口源码! 很值得下载看看!资源免费,大家分享!!
  • 我们在开发CS架构时通常采用直接链接数据库方式获取数据,这里写下通过RestClient 向第三方接口推送数据、获取数据 准备 1.cs客户端 2.后台api接口(这里采用abp框架) 包控制台安装restsharp 一。登录 登录...
  • c# winform Get请求接口

    2021-06-14 10:18:33
    引用using System.Net; 实现步骤: 1.通过WebRequest类创建一个HttpWebRequest的对象,该对象可以包含Http请求信息。 ... ... 4.从响应信息中获取响应头信息和响应主体信息。...public string GetMethod() ... string
  • 主要介绍了Winform实现调用asp.net数据接口的方法,以实例的形式讲述了数据接口及反射辨别响应的实现方法,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 本文实例讲述了WinForm调用百度地图接口用法。分享给大家供大家参考,具体如下: 1、首先用一个html文件调用百度地图接口(主要注册一个序列号): <!DOCTYPE ...
  • 通过SunnyUI,自己做的一个美化界面的小程序,实现界面各种控件的美化,仅供学习参考,可能会对大家做Winform桌面程序搭建框架有所帮助
  • C#WinForm程序,CS端的程序,怎么定义接口来和其它接口互相同步数据 ,新手求指导。
  • winform 获得天气Dome 天气接口 CS
  • public static string HttpPost... { //ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); Encoding encoding = Encoding.UTF8; ...
  • C#winForm调用WebService的远程接口

    千次阅读 2018-03-08 13:53:01
    https://www.cnblogs.com/JiYF/p/6169349.htmlC#winForm调用WebService的远程接口创建一个WebService工程用例添加服务引用添加webService服务地址输入命名空间名称主要代码测试成功截图工程代码下载新建一个测试工程...
  • C# Winform开发,小白接口管理系统 - V1.0(开发及使用说明) 重要的下载地址 C#项目源代码下载(OkayApiAdmin):https://gitee.com/dogstar/okayapi-demo/tree/master/c_sharp 小白接口管理系统 - 绿色版 - V...
  • Winform调用百度地图接口

    热门讨论 2013-04-27 16:40:02
    一个HTML文件调用了百度地图接口,一个Winform程序调用了该网页,显示地图
  • 如何在WinForm中请求发送HTTP 手工发送HTTP请求主要是调用 System.Net的HttpWebResponse方法 手工发送HTTP的GET请求: string strURL = http://localhost/Play/CH1/Service1.asmx/doSearch?keyword=; strURL +=this...
  • C#winform调用webapi.rar

    2019-05-12 10:05:39
    C#winform调用webapi 上传json格式字符串,返回json字符串结果
  • [C#]winForm调用WebService的远程接口

    千次阅读 2017-11-22 08:35:15
    C#winForm调用WebService的远程接口创建一个WebService工程用例 添加服务引用 添加webService服务地址 输入命名空间名称 主要代码 测试成功截图 工程代码下载 新建一个测试工程用例如图: 布局如图: 1、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,062
精华内容 7,624
关键字:

winform提供接口