コード例 #1
0
ファイル: CustomMenu.cs プロジェクト: chenyangsun/WeiXinSDK
        /// <summary>
        /// 创建自定义菜单
        /// </summary>
        /// <param name="menu"></param>
        /// <returns></returns>
        public static string CreatMenu(string menu)
        {
            var access_token = wxArg.Access_Token;
            var url          = string.Format("https://api.weixin.qq.com/cgi-bin/menu/create?access_token={0}", access_token);

            return(MyHttpUtility.Post(url, menu));
        }
コード例 #2
0
        /// <summary>
        /// 添加图文消息
        /// </summary>
        /// <param name="news"></param>
        /// <returns></returns>
        public string AddNews(WX_Media_News news)
        {
            var json = new
            {
                articles = new List <Object>()
                {
                    new
                    {
                        title                 = news.title,
                        thumb_media_id        = news.thumb_media_id,
                        author                = news.author,
                        digest                = news.digest,
                        show_cover_pic        = news.show_cover_pic,
                        content               = news.content,
                        content_source_url    = news.content_source_url,
                        need_open_comment     = news.need_open_comment,
                        only_fans_can_comment = news.only_fans_can_comment,
                    }
                }
            };
            string url      = string.Format(MEDIA_ADD_NEWS, this.Get_Access_Token());
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(json));

            return(respJson);
        }
コード例 #3
0
ファイル: RSACryptionClass.cs プロジェクト: colys/yiletong
        public QueryResult TryGetResult(string batchCurrnum, string batchDate, out string returnPayValue)
        {
            QueryResult qr          = null;
            string      easypay_url = FormatUrl(new
            {
                _input_charset = _input_charset,
                batchBizid     = batchBizid,
                batchCurrnum   = batchCurrnum,
                batchDate      = batchDate,
                batchVersion   = batchVersion
            });
            MyHttpUtility http = new MyHttpUtility();

            returnPayValue = http.DoGet("http://entrust.reapal.com/agentpay/payquerybatch?" + easypay_url, false);
            if (returnPayValue.Substring(0, 6).ToUpper() == "<RESP>")
            {
                CheckException(returnPayValue);
            }
            else
            {
                //解密
                SecurityClass security = new SecurityClass(Encoding.GetEncoding("GBK"));
                returnPayValue = security.RSADecrypt(PrivateKey, "clientok", returnPayValue);
                qr             = Common.QueryResult.FromXml(returnPayValue);
            }
            return(qr);
        }
コード例 #4
0
ファイル: HttpListenerHost.cs プロジェクト: sytone/Emby
        public static string RemoveQueryStringByKey(string url, string key)
        {
            var uri = new Uri(url);

            // this gets all the query string key value pairs as a collection
            var newQueryString = MyHttpUtility.ParseQueryString(uri.Query);

            var originalCount = newQueryString.Count;

            if (originalCount == 0)
            {
                return(url);
            }

            // this removes the key if exists
            newQueryString.Remove(key);

            if (originalCount == newQueryString.Count)
            {
                return(url);
            }

            // this gets the page path from root without QueryString
            string pagePathWithoutQueryString = url.Split(new[] { '?' }, StringSplitOptions.RemoveEmptyEntries)[0];

            return(newQueryString.Count > 0
                ? String.Format("{0}?{1}", pagePathWithoutQueryString, newQueryString)
                : pagePathWithoutQueryString);
        }
コード例 #5
0
        public string Delete()
        {
            string access_token = this.Get_Access_Token();
            string url          = string.Format(MENU_DELETE_URL, access_token);
            string respJson     = MyHttpUtility.SendGet(url);

            return(respJson);
        }
コード例 #6
0
        private void DeleteAll(MyHttpUtility httpUtility, int orgId, int repYear)
        {
            httpUtility.ContentType    = _contentTypeUrlencoded;
            httpUtility.AcceptEncoding = String.Empty;
            string queryString = "pid=" + orgId + "&ry=" + repYear + "&stat=0";

            httpUtility.CreateGetRequestAndExec("http://www.gpfpmr.idknet.com/php_scr/delall.php?" + queryString);
        }
コード例 #7
0
        /// <summary>
        /// 根据openid获得用户信息
        /// </summary>
        /// <param name="openId"></param>
        /// <param name="lang"></param>
        /// <returns></returns>
        public string Info(string openId, string lang = "zh_CN ")
        {
            string access_token = this.Get_Access_Token();
            string url          = string.Format(USER_INFO_URL, access_token, openId, lang);
            string respJson     = MyHttpUtility.SendGet(url);

            return(respJson);
        }
コード例 #8
0
        /// <summary>
        /// 获得用户列表
        /// </summary>
        /// <param name="next_openid"></param>
        /// <returns></returns>
        public string Get(string next_openid = "")
        {
            string access_token = this.Get_Access_Token();
            string url          = string.Format(USER_GET_URL, access_token, next_openid);
            string respJson     = MyHttpUtility.SendGet(url);

            return(respJson);
        }
コード例 #9
0
        public string GetList()
        {
            string access_token = this.Get_Access_Token();
            string url          = string.Format(TAG_GET_URL, access_token);
            string respJson     = MyHttpUtility.SendGet(url);

            return(respJson);
        }
コード例 #10
0
        public string Create(JObject json)
        {
            string s            = Delete();
            string access_token = this.Get_Access_Token();
            string url          = string.Format(MENU_CREATE_URL, access_token);
            string respJson     = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(json));

            return(respJson);
        }
コード例 #11
0
ファイル: CustomMenu.cs プロジェクト: chenyangsun/WeiXinSDK
        /// <summary>
        /// 获取菜单配置
        /// </summary>
        public static string GetMenu()
        {
            var access_token = wxArg.Access_Token;
            var url          = string.Format("https://api.weixin.qq.com/cgi-bin/get_current_selfmenu_info?access_token={0}", access_token);
            var result       = string.Empty;

            result = MyHttpUtility.Get(url);
            //JObject jobj = JObject.Parse(result);
            return(result);
        }
コード例 #12
0
        private int IsRegisteredOrg(MyHttpUtility httpUtility, string regNumOrg, string password)
        {
            ToLog(">Проверка наличия организации. Ожидайте...");
            string queryString = "reg=" + regNumOrg +
                                 "&pass="******"http://www.gpfpmr.idknet.com/php_scr/getorg.php",
                                                                 queryString);

            return(Convert.ToInt32(result));
        }
コード例 #13
0
        /// <summary>
        /// 根据mediaid删除永久素材
        /// </summary>
        /// <param name="mediaId"></param>
        /// <returns></returns>
        public string Delete(string mediaId)
        {
            string url  = string.Format(MEDIA_DELETE_MATERIAL, this.Get_Access_Token());
            var    json = new
            {
                media_id = mediaId
            };
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(json));

            return(respJson);
        }
コード例 #14
0
        private int SendBlob(MyHttpUtility httpUtility, int orgId, int repYear)
        {
            byte[]    buf       = File.ReadAllBytes(Path.Combine(_directoryPath, _archiveName));
            int       offset    = 0;
            const int blobSize  = 65535;
            string    b64String = Convert.ToBase64String(buf);
            int       lengh     = b64String.Length;
            int       ret       = 0;

            ToLog(">Отправка контейнера. Ожидайте...");
            ToLog(">Отправлено 0%...");

            while (offset < lengh)
            {
                httpUtility.ContentType    = _contentTypeMultipart + _boundary;
                httpUtility.AcceptEncoding = _acceptEncoding;

                int    lengthToSend = (lengh - offset > blobSize) ? blobSize : lengh - offset;
                string queryString  =
                    "--" + _boundary + "\n" +
                    "Content-Type: text/plain" + "\n" +
                    "Content-Disposition: form-data; name=\"pid\"" + "\n" + "\n" + orgId.ToString() + "\n" + "--" +
                    _boundary + "--" + "\n" + "\n" +
                    "--" + _boundary + "\n" +
                    "Content-Type: text/plain" + "\n" +
                    "Content-Disposition: form-data; name=\"ry\"" + "\n" + "\n" + repYear.ToString() + "\n" + "--" +
                    _boundary + "--" + "\n" + "\n" +
                    "--" + _boundary + "\n" +
                    "Content-Type: application/octet-stream; filename=\"" + _containerName + "\"" + "\n" +
                    "Content-Transfer-Encoding: base64" + "\n" +
                    "Content-Disposition: form-data; name=\"data\"" + "\n" + "\n" +
                    b64String.Substring(offset, lengthToSend) + "\n" + "--" + _boundary + "--" + "\n" + "\n";

                string result = httpUtility.CreatePostRequestAndExec("http://www.gpfpmr.idknet.com/php_scr/wrblob.php",
                                                                     queryString);
                ret = Convert.ToInt32(result);
                if (ret < 1)
                {
                    ToLog("Произошла ошибка при отправке контейнера!");
                    DeleteAll(httpUtility, orgId, repYear);
                    return(0);
                }

                offset += lengthToSend;
                UndoLog();
                ToLog(String.Format(">Отправлено {0:0.0%}...", (offset * 1.0) / lengh));

                if (_abortSending)
                {
                    return(0);
                }
            }
            return(ret);
        }
コード例 #15
0
        /// <summary>
        /// 获取永久素材
        /// </summary>
        /// <param name="type"></param>
        /// <param name="offset"></param>
        /// <param name="count"></param>
        /// <returns></returns>
        public string Get(string type, int offset = 0, int count = 20)
        {
            string url  = string.Format(MEDIA_GET, this.Get_Access_Token());
            var    json = new
            {
                type   = type,
                offset = offset,
                count  = count,
            };
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(json));

            return(respJson);
        }
コード例 #16
0
        public string GetUserSummary(int day)
        {
            //var begin_date = DateTime.Now.AddDays(-1);
            //var end_date = DateTime.Now.AddDays(-1).AddDays(-1 - day);
            var json = new {
                begin_date = DateTime.Now.AddDays(-day).ToShortDateString(),
                end_date   = DateTime.Now.AddDays(-1).ToShortDateString(),
            };
            string url      = string.Format(GETUSERSUMMARY, this.Get_Access_Token());
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(json));

            return(respJson);
        }
コード例 #17
0
        /// <summary>
        /// 移除用户标签
        /// </summary>
        /// <param name="openId"></param>
        /// <param name="tagId"></param>
        /// <returns></returns>
        public string RemoveTag(string openId, int tagId)
        {
            var data = new
            {
                openid_list = new
                {
                    openId
                },
                tagid = tagId
            };
            string url      = string.Format(USER_REMOVE_TAG_URL, this.Get_Access_Token());
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(data));

            return(respJson);
        }
コード例 #18
0
        private int UpdateMDC(MyHttpUtility httpUtility, int orgId, int repYear, int mdc, int status)
        {
            ToLog(">Фиксация результатов. Ожидайте...");
            string queryString = "pid=" + orgId +
                                 "&ry=" + repYear +
                                 "&mid=" + mdc +
                                 "&stat=" + status;

            httpUtility.ContentType    = _contentTypeUrlencoded;
            httpUtility.AcceptEncoding = String.Empty;
            string result =
                httpUtility.CreateGetRequestAndExec("http://www.gpfpmr.idknet.com/php_scr/umdc.php?" + queryString);

            return(Convert.ToInt32(result));
        }
コード例 #19
0
        public string Create(string TagName)
        {
            string access_token = this.Get_Access_Token();
            string url          = string.Format(TAG_CREATE_URL, access_token);
            var    json         = new
            {
                tag = new
                {
                    name = TagName
                }
            };
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(json));

            return(respJson);
        }
コード例 #20
0
        public string Delete(int tagid)
        {
            string access_token = this.Get_Access_Token();
            string url          = string.Format(TAG_DELETE_URL, access_token);
            var    json         = new
            {
                tag = new
                {
                    id = tagid
                }
            };
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(json));

            return(respJson);
        }
コード例 #21
0
        /// <summary>
        /// 群发文本
        /// </summary>
        /// <param name="openIdList"></param>
        /// <param name="text"></param>
        /// <returns></returns>
        public string SendText(List <string> openIdList, string text)
        {
            var data = new
            {
                touser  = openIdList,
                msgtype = "text",
                text    = new
                {
                    content = text
                }
            };
            string url      = string.Format(MESSAGE_SEND_URL, this.Get_Access_Token());
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(data));

            return(respJson);
        }
コード例 #22
0
        public string Update(int tagid, string tagname)
        {
            string access_token = this.Get_Access_Token();
            string url          = string.Format(TAG_UPDATE_URL, access_token);
            var    json         = new
            {
                tag = new
                {
                    id   = tagid,
                    name = tagname
                }
            };
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(json));

            return(respJson);
        }
コード例 #23
0
        internal string Get_Access_Token()
        {
            if ((string.IsNullOrEmpty(access_token) &&
                 DateTime.Now > expires_Time) || (!string.IsNullOrEmpty(LastApp) && !LastApp.Equals(APPID)))
            {
                string  url  = string.Format(ACCESS_TOKEN_URL, APPID, APPSECRET);
                string  json = MyHttpUtility.SendGet(url);
                JObject jo   = (JObject)JsonConvert.DeserializeObject(json);
                access_token = Convert.ToString(jo["access_token"].ToString());
                int expires_in = Convert.ToInt32(jo["expires_in"].ToString());
                expires_Time = DateTime.Now.AddSeconds(expires_in);
                LastApp      = APPID;
            }

            return(access_token);
        }
コード例 #24
0
        /// <summary>
        /// 批量为用户添加标签
        /// </summary>
        /// <param name="openIdList"></param>
        /// <param name="tagId"></param>
        /// <returns></returns>
        public string AddTag(List <string> openIdList, int tagId)
        {
            if (openIdList.Count == 0)
            {
                return("");
            }
            var data = new
            {
                openid_list = openIdList,
                tagid       = tagId
            };
            string url      = string.Format(USER_ADD_TAG_URL, this.Get_Access_Token());
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(data));

            return(respJson);
        }
コード例 #25
0
            public static StreamParams ParseFromUrl(string url, ILibraryManager libraryManager, IMediaSourceManager mediaSourceManager)
            {
                if (string.IsNullOrEmpty(url))
                {
                    throw new ArgumentNullException("url");
                }

                var request = new StreamParams
                {
                    ItemId = GetItemId(url)
                };

                Guid parsedId;

                if (string.IsNullOrWhiteSpace(request.ItemId) || !Guid.TryParse(request.ItemId, out parsedId))
                {
                    return(request);
                }

                var index = url.IndexOf('?');

                if (index == -1)
                {
                    return(request);
                }

                var query = url.Substring(index + 1);
                QueryParamCollection values = MyHttpUtility.ParseQueryString(query);

                request.DeviceProfileId = values.Get("DeviceProfileId");
                request.DeviceId        = values.Get("DeviceId");
                request.MediaSourceId   = values.Get("MediaSourceId");
                request.LiveStreamId    = values.Get("LiveStreamId");
                request.IsDirectStream  = string.Equals("true", values.Get("Static"), StringComparison.OrdinalIgnoreCase);

                request.AudioStreamIndex    = GetIntValue(values, "AudioStreamIndex");
                request.SubtitleStreamIndex = GetIntValue(values, "SubtitleStreamIndex");
                request.StartPositionTicks  = GetLongValue(values, "StartPositionTicks");

                request.Item = string.IsNullOrEmpty(request.ItemId)
                    ? null
                    : libraryManager.GetItemById(parsedId);

                request._mediaSourceManager = mediaSourceManager;

                return(request);
            }
コード例 #26
0
        public string Create(int expire_seconds, string action_name, int scene_id, string scene_str)
        {
            string access_token = this.Get_Access_Token();
            string url          = string.Format(QRCODE_CREATE_URL, access_token);
            var    json         = new
            {
                expire_seconds = expire_seconds,
                action_name    = action_name,
                action_info    = new
                {
                    scene = new { scene_id = scene_id }
                }
            };
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(json));

            return(respJson);
        }
コード例 #27
0
        /// <summary>
        /// 发送语音
        /// </summary>
        /// <param name="openId"></param>
        /// <param name="text"></param>
        /// <returns></returns>
        public string SendVoice(string openId, string mediaId)
        {
            string access_token = this.Get_Access_Token();
            string url          = string.Format(CUSTOM_SEND_URL, access_token);
            var    json         = new
            {
                touser  = openId,
                msgtype = "voice",
                voice   = new
                {
                    media_id = mediaId
                }
            };
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(json));

            return(respJson);
        }
コード例 #28
0
        /// <summary>
        /// 发送文本。
        /// </summary>
        /// <param name="openId"></param>
        /// <param name="text"></param>
        /// <returns></returns>
        public string SendText(string openId, string text)
        {
            string access_token = this.Get_Access_Token();
            string url          = string.Format(CUSTOM_SEND_URL, access_token);
            var    json         = new
            {
                touser  = openId,
                msgtype = "text",
                text    = new
                {
                    content = text
                }
            };
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(json));

            return(respJson);
        }
コード例 #29
0
        private string RunHttp(string action, params string[] paraStrArr)
        {
            MyHttpUtility http    = new MyHttpUtility();
            string        content = "action=" + action + "&dataArrStr=";

            if (paraStrArr != null)
            {
                foreach (string str in paraStrArr)
                {
                    content += System.Web.HttpUtility.UrlEncode(str) + ",";
                }
                content = content.Substring(0, content.Length - 1);
            }
            try {
                return(http.DoPost(evalActionUrl, encryption.EncryptData(content)));
            } catch (Exception ex) {
                onError("DoPost exception:" + content + " ,", ex);
                return(null);
            }
        }
コード例 #30
0
        /// <summary>
        /// 群发图片
        /// </summary>
        /// <param name="openIdList"></param>
        /// <param name="media_id"></param>
        /// <returns></returns>
        public string Image(int tagId, string media_id)
        {
            var data = new
            {
                filter = new
                {
                    is_to_all = false,
                    tag_id    = tagId
                },
                image = new
                {
                    media_id = media_id,
                },
                msgtype = "image"
            };
            string url      = string.Format(MESSAGE_SENDALL_URL, this.Get_Access_Token());
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(data));

            return(respJson);
        }
コード例 #31
0
ファイル: RSACryptionClass.cs プロジェクト: colys/yiletong
 public QueryResult TryGetResult(string batchCurrnum, string batchDate, out string returnPayValue)
 {
     QueryResult qr = null;
     string easypay_url = FormatUrl(new
     {
         _input_charset = _input_charset,
         batchBizid = batchBizid,
         batchCurrnum = batchCurrnum,
         batchDate = batchDate,
         batchVersion = batchVersion
     });
     MyHttpUtility http = new MyHttpUtility();
     returnPayValue = http.DoGet("http://entrust.reapal.com/agentpay/payquerybatch?" + easypay_url,false);
     if (returnPayValue.Substring(0, 6).ToUpper() == "<RESP>") {
         CheckException(returnPayValue);
     }
     else
     {
         //解密
         SecurityClass security = new SecurityClass(Encoding.GetEncoding("GBK"));
         returnPayValue = security.RSADecrypt(PrivateKey, "clientok", returnPayValue);
         qr= Common.QueryResult.FromXml(returnPayValue);
     }
     return qr;
 }
コード例 #32
0
ファイル: RSACryptionClass.cs プロジェクト: colys/yiletong
        //post提交
        public string PostDataGetHtml(string postData)
        {
            byte[] data = encoding.GetBytes(postData);
            //Uri uRI = new Uri("http://entrust.reapal.com/agentpay/pay?");
            MyHttpUtility http = new MyHttpUtility();
            return http.DoPost("http://entrust.reapal.com/agentpay/pay?", data);

            //HttpWebRequest req = WebRequest.Create(uRI) as HttpWebRequest;
            //req.Method = "POST";
            //req.KeepAlive = true;
            //req.ContentType = "application/x-www-form-urlencoded";
            //req.ContentLength = data.Length;
            //req.AllowAutoRedirect = true;
            //Stream outStream = req.GetRequestStream();
            //outStream.Write(data, 0, data.Length);
            //outStream.Close();
            //HttpWebResponse res = req.GetResponse() as HttpWebResponse;
            //Stream inStream = res.GetResponseStream();
            //StreamReader sr = new StreamReader(inStream, System.Text.Encoding.Default);
            //string htmlResult = sr.ReadToEnd();
            //return htmlResult;
        }