コード例 #1
0
            public static HttpRspData HttpPost(string url, IDictionary <string, string> param)
            {
                //string url = "";
                Encoding charset = Encoding.GetEncoding("utf-8");
                //IDictionary<string, string> param = new Dictionary<string, string>();
                //param.Add("usrid", "10000");
                HttpWebResponse resp   = CreatePostHttpResponse(url, param, charset);
                Stream          stream = resp.GetResponseStream(); //获取响应的字符串流
                StreamReader    sr     = new StreamReader(stream); //创建一个stream读取流
                string          html   = sr.ReadToEnd();           //从头读到尾,放到字符串html
                                                                   //Console.WriteLine(html);
                HttpRspData data = JsonPaserWeb.Deserialize <HttpRspData>(html);

                if (!string.IsNullOrEmpty(data.RspData))
                {
                    // 附带附加信息
                    HttpExtraInfo einfo = JsonPaserWeb.Deserialize <HttpExtraInfo>(data.RspData);
                    data.einfo = einfo;
                }
                return(data);
            }
コード例 #2
0
        static HttpRspData PostMForm(string url, IDictionary <string, string> param, byte[] img_data)
        {
            string boundary = "-----" + DateTime.Now.Ticks.ToString("x");

            byte[]         boundarybytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");
            HttpWebRequest wr            = (HttpWebRequest)WebRequest.Create(url);

            wr.ContentType = "multipart/form-data; boundary=" + boundary;
            wr.UserAgent   = "RK_C# 1.2";
            wr.Method      = "POST";
            Stream rs = null;

            try
            {
                rs = wr.GetRequestStream();
            }
            catch
            {
                Console.WriteLine("The Web is Disconnected!");
                return(null);
            }
            string html        = null;
            string item_string = "Content-Disposition: form-data; name=\"{0}\"\r\n\r\n{1}";

            foreach (string key in param.Keys)
            {
                rs.Write(boundarybytes, 0, boundarybytes.Length);
                string form_item = string.Format(item_string, key, param[key]);
                //Console.WriteLine(string.Format("key:{0} val:{1}",key,param[key]));
                byte[] form_item_bytes = System.Text.Encoding.UTF8.GetBytes(form_item);
                rs.Write(form_item_bytes, 0, form_item.Length);
            }
            rs.Write(boundarybytes, 0, boundarybytes.Length);
            string file_srtring = string.Format("Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\nContent-Type: {2}\r\n\r\n"
                                                , "img_data", "image", "image/jpg");

            rs.Write(System.Text.Encoding.UTF8.GetBytes(file_srtring), 0, file_srtring.Length);
            rs.Write(img_data, 0, img_data.Length);
            byte[] trail = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "--");
            rs.Write(trail, 0, trail.Length);
            rs.Close();
            WebResponse wresp = null;
            HttpRspData data  = null;

            try
            {
                wresp = wr.GetResponse();

                Stream       stream2 = wresp.GetResponseStream();
                StreamReader reader2 = new StreamReader(stream2);
                html = reader2.ReadToEnd();
            }
            catch { }
            finally
            {
                if (wresp != null)
                {
                    wresp.Close();
                    wresp = null;
                    data  = JsonPaserWeb.Deserialize <HttpRspData>(html);
                    if (!string.IsNullOrEmpty(data.RspData))
                    {
                        // 附带附加信息
                        HttpExtraInfo einfo = JsonPaserWeb.Deserialize <HttpExtraInfo>(data.RspData);
                        data.einfo = einfo;
                    }
                }
                wr.Abort();
                wr = null;
            }

            return(data);
        }