zoukankan      html  css  js  c++  java
  • C# 模拟 Post

    方式一:不启动IE,代码中Post

      try
                    {
                        string url = "http:\\xxx.com" ;
                        string postString = "uid=xx&pwd=xxx";
                        byte[] postData = Encoding.UTF8.GetBytes(postString);
    
                        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url));
                        request.Method = "POST";
                        //for some customer,use proxy, so add this.
                        //refer:http://www.cnblogs.com/cxd4321/archive/2012/01/30/2331621.html
                        request.ServicePoint.Expect100Continue = false;
                        int timeout = 5000;
                        Int32.TryParse(Settings.Default.LoginTimeOut, out timeout);
                        if (timeout < 5000 || timeout > 15000)
                            timeout = 5000;
                        request.Timeout = timeout;
                        request.ContentType = "application/x-www-form-urlencoded";
                        request.ContentLength = postData.Length;
                        using (Stream requestStream = request.GetRequestStream())
                        {
                            requestStream.Write(postData, 0, postData.Length);
                        }
                        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                        StreamReader stream = new StreamReader(response.GetResponseStream(), Encoding.Default);
                        string srcString = stream.ReadToEnd();
                        response.Close();
                        stream.Close();
                        Trace.WriteLine(srcString);
                    }
                    catch (Exception ex)
                    {
                        Trace.WriteLine(ex);
                    }
     string url ="http://xxx.com"
                            string postString = "parms=xx&pid=yyy";
                            byte[] postData = Encoding.UTF8.GetBytes(postString);
                            WebClient webClient = new WebClient();
                            webClient.UseDefaultCredentials = true;
                            webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
                            byte[] responseData = webClient.UploadData(url, "POST", postData);
                            string srcString = Encoding.UTF8.GetString(responseData);
                            Trace.WriteLine(srcString);

    方式二:启动IE,并模拟Post

    先添加引用,COM-->Microsoft Internet Controls

    再添加代码:

                string postData = "username=admin&password=admin";
                var ie = new InternetExplorer();
                object vPost, vHeaders, vFlags, vTargetFrame;
                vPost = null;
                vFlags = null;
                vTargetFrame = null;
                vHeaders = "Content-Type: application/x-www-form-urlencoded" + Convert.ToChar(10) + Convert.ToChar(13);
                if (!string.IsNullOrEmpty(postData))
                    vPost = ASCIIEncoding.Default.GetBytes(postData);
                ie.Visible = true;
                string url = "http://{IP}/validate";
                ie.Navigate(url, ref vFlags, ref vTargetFrame, ref vPost, ref vHeaders);
  • 相关阅读:
    CSS标题线(删除线贯穿线效果)实现之一二
    sublime修改快捷键样式
    使用css鼠标移动到图片放大效果
    js判断苹果安卓操作系统,js更换css
    清除缓存
    mui下拉上拉(明一)
    mui下拉刷新上拉加载
    Cypher学习笔记
    github上计算String相似度好的项目
    代码重构
  • 原文地址:https://www.cnblogs.com/xiaokang088/p/2922161.html
Copyright © 2011-2022 走看看