private string ReadAsXNet(string server, string addr) { using (var client = new xNet.HttpRequest(server)) { return(client.Get(addr).ToString()); } }
// получсаем ид ответственного public string[] isHaveCont(string portal, string acectok, string tel) { string respc; xNet.HttpResponse resp; using (xNet.HttpRequest request = new xNet.HttpRequest()) { request.AddHeader("Authorization", " Bearer " + acectok); resp = request.Get("https://" + portal + "/api/v2/contacts?query=" + tel); respc = resp.ToString(); } var converter = new ExpandoObjectConverter(); if (resp.StatusCode != xNet.HttpStatusCode.OK) { return(null); } else { dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(respc, converter); string[] iduser = new string[3]; iduser[0] = obj2._embedded.items[0].responsible_user_id.ToString(); // ответственный iduser[1] = obj2._embedded.items[0].name.ToString(); // имя контакта iduser[2] = obj2._embedded.items[0].id.ToString(); // ид контакта return(iduser); } }
private string ReadAsXNetForce(string server, string addr) { using (var client = new xNet.HttpRequest(server)) { client.IgnoreProtocolErrors = true; return(client.Get(addr).ToString()); } }
public string CreatCont(string portal, string acectok, string tel, string userid) { string content2; using (xNet.HttpRequest request = new xNet.HttpRequest()) { request.AddHeader("Authorization", " Bearer " + acectok); content2 = request.Get("https://" + portal + "/api/v2/account?with=custom_fields").ToString(); } var converter = new ExpandoObjectConverter(); dynamic obj = JsonConvert.DeserializeObject <ExpandoObject>(content2, converter); string idtelef = "0"; foreach (var item in obj._embedded.custom_fields.contacts) { if (item.Value.name == "Телефон") { idtelef = item.Value.id.ToString(); break; } } DateTimeOffset td = DateTimeOffset.Now; var data = new { add = new[] { new { name = "Новый контакт", responsible_user_id = userid, created_by = userid, created_at = td.ToUnixTimeSeconds(), custom_fields = new[] { new { id = idtelef, values = new[] { new { value = tel, @enum = "WORK" } } } } } } }; string contentText2 = JsonConvert.SerializeObject(data).ToString(); string content; using (xNet.HttpRequest request = new xNet.HttpRequest()) { request.AddHeader("Authorization", " Bearer " + acectok); content = request.Post("https://" + portal + "/api/v2/contacts", contentText2, "application/json").ToString(); } dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(content, converter); string iduser = obj2._embedded.items[0].id.ToString(); return(iduser); }
private void downloadFileV2_Ex(string url, string path) { xNet.HttpRequest http = new xNet.HttpRequest(); http.ConnectTimeout = 99999999; http.KeepAliveTimeout = 99999999; http.ReadWriteTimeout = 99999999; var binImg = http.Get(url).ToMemoryStream().ToArray(); File.WriteAllBytes(path, binImg); }
private List <UpdateFileInfo> GetUpdateFiles() { using (var request = new xNet.HttpRequest()) { try { string content = request.Get(String.Format("{0}/updateInfo.json", updateFilePath)).ToString(); return(JsonConvert.DeserializeObject <List <UpdateFileInfo> >(content)); } catch (Exception e) { HandleError(0, e); return(null); } } }
public bool ifhaveDeals(string portal, string acectok, int idcont /*, List<string> lststatus*/) { List <string> lststatus = new List <string>() { "142", "143" }; var converter = new ExpandoObjectConverter(); string content; using (xNet.HttpRequest request = new xNet.HttpRequest()) { request.AddHeader("Authorization", " Bearer " + acectok); content = request.Get("https://" + portal + "/api/v4/contacts/" + idcont + "?with=leads").ToString(); } dynamic obj = JsonConvert.DeserializeObject <ExpandoObject>(content, converter); List <int> lstdeals = new List <int>(); foreach (var item in obj._embedded.leads) { lstdeals.Add(Convert.ToInt32(item.id)); } bool flag = false; foreach (var item in lstdeals) { string content2; using (xNet.HttpRequest request2 = new xNet.HttpRequest()) { request2.AddHeader("Authorization", " Bearer " + acectok); content2 = request2.Get("https://" + portal + "/api/v4/leads/" + item).ToString(); } dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(content2, converter); if (lststatus.Contains(obj2.status_id.ToString())) { continue; } else { flag = true; } } return(flag); }
public string GetUserName(string portal, string acectok, int iduser) { string resp; using (xNet.HttpRequest request = new xNet.HttpRequest()) { request.AddHeader("Authorization", " Bearer " + acectok); resp = request.Get("https://" + portal + "/api/v2/account?with=users").ToString(); } var converter = new ExpandoObjectConverter(); dynamic obj = JsonConvert.DeserializeObject <ExpandoObject>(resp, converter); string name = ""; foreach (var item in obj._embedded.users) { if (Convert.ToInt32(item.Value.id) == iduser) { name = item.Value.name; } } return(name); }
public static string tfacode(string code) { string result = ""; xNet.HttpRequest http = new xNet.HttpRequest(); try { code = code.Replace("\r", "").Replace("\n", "").Replace(" ", "").ToString(); string response = http.Get("http://2fa.live/tok/" + code).ToString(); result = Regex.Match(response, "token.*?(\\d+)").Groups[1].Value; } catch { result = ""; } finally { http.Dispose(); http.Close(); } return(result); }
public List <string> StatusDeal(string portal, string acectok) { var converter = new ExpandoObjectConverter(); string content; using (xNet.HttpRequest request = new xNet.HttpRequest()) { request.AddHeader("Authorization", " Bearer " + acectok); content = request.Get("https://" + portal + "/api/v4/leads/pipelines").ToString(); } dynamic obj = JsonConvert.DeserializeObject <ExpandoObject>(content, converter); string idvoron = obj._embedded.pipelines[0].id.ToString(); string content2; using (xNet.HttpRequest request2 = new xNet.HttpRequest()) { request2.AddHeader("Authorization", " Bearer " + acectok); content2 = request2.Get("https://" + portal + "/api/v4/leads/pipelines/" + idvoron + "/statuses").ToString(); } dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(content2, converter); List <string> lstidstat = new List <string>(); foreach (var item in obj2._embedded.statuses) { Encoding utf8 = Encoding.GetEncoding("UTF-8"); Encoding win1251 = Encoding.GetEncoding("Windows-1251"); byte[] utf8Bytes = win1251.GetBytes(item.name); byte[] win1251Bytes = Encoding.Convert(utf8, win1251, utf8Bytes); item.name = win1251.GetString(win1251Bytes); if ((item.name == "Первичный контакт") || (item.name == "Переговоры") || (item.name == "Принимают решение") || (item.name == "Согласование договора")) { lstidstat.Add(item.id.ToString()); } } return(lstidstat); }
public List <UserGetApi> GetListApiUsers(string portal, string acectok) { string resp; using (xNet.HttpRequest request = new xNet.HttpRequest()) { request.AddHeader("Authorization", " Bearer " + acectok); resp = request.Get("https://" + portal + "/api/v2/account?with=users").ToString(); } var converter = new ExpandoObjectConverter(); dynamic obj = JsonConvert.DeserializeObject <ExpandoObject>(resp, converter); List <UserGetApi> userlst = new List <UserGetApi>(); foreach (var item in obj._embedded.users) { UserGetApi user = new UserGetApi(); user.id = Convert.ToInt32(item.Value.id); user.isadmin = item.Value.is_admin; user.name = item.Value.name; userlst.Add(user); } return(userlst); }
public int CreatRazobrab(string portal, string acectok, int cosht, int idcont, int idotv, string tag, string number, string link, int duration, string iddopfild, string namedopfild) { var converter = new ExpandoObjectConverter(); string content2; using (xNet.HttpRequest request2 = new xNet.HttpRequest()) { request2.AddHeader("Authorization", " Bearer " + acectok); content2 = request2.Get("https://" + portal + "/api/v4/leads/pipelines").ToString(); } dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(content2, converter); var data3 = new[] { new{ name = tag } }; string contentText3 = JsonConvert.SerializeObject(data3).ToString(); string content3; using (xNet.HttpRequest request3 = new xNet.HttpRequest()) { request3.AddHeader("Authorization", " Bearer " + acectok); content3 = request3.Post("https://" + portal + "/api/v4/leads/tags", contentText3, "application/json").ToString(); } dynamic obj3 = JsonConvert.DeserializeObject <ExpandoObject>(content3, converter); int idtag = Convert.ToInt32(obj3._embedded.tags[0].id); int idvoron = Convert.ToInt32(obj2._embedded.pipelines[0].id); string guid1 = Guid.NewGuid().ToString(); DateTimeOffset td = DateTimeOffset.Now; var data = new[] { new { request_id = "123", source_name = "Источник #1", source_uid = guid1, pipeline_id = idvoron, created_at = td.ToUnixTimeSeconds(), _embedded = new { leads = new[] { new{ name = "Новая сделка", price = cosht, custom_fields_values = new[] { new { field_id = Convert.ToInt32(iddopfild), values = new[] { new { value = namedopfild } } } }, _embedded = new{ tags = new[] { new{ id = idtag } } } } }, contacts = new[] { new{ id = idcont } } }, metadata = new { is_call_event_needed = true, duration = duration, uniq = guid1, service_code = "12345678", link = link, //"https://service-axatel.ru:8099/content/zapisvobrabotke.mp3", phone = number, called_at = td.ToUnixTimeSeconds(), from = "клиента " + number } } }; string contentText2 = JsonConvert.SerializeObject(data).ToString(); string content; using (xNet.HttpRequest request = new xNet.HttpRequest()) { request.AddHeader("Authorization", " Bearer " + acectok); content = request.Post("https://" + portal + "/api/v4/leads/unsorted/sip", contentText2, "application/json").ToString(); } dynamic obj = JsonConvert.DeserializeObject <ExpandoObject>(content, converter); return(1); }
public void loadProxyByUrl(bool withThread, int updateInterval = 15) { try { if (withThread) { Thread a = new Thread(new ThreadStart(() => { while (true) { again: try { if (loadByFile) { proxyList.Clear(); loadList(proxyUrl, ref proxyList); } else { xNet.HttpRequest req = new xNet.HttpRequest { IgnoreProtocolErrors = true, Cookies = new xNet.CookieDictionary(false), KeepAlive = true, ConnectTimeout = 20000, ReadWriteTimeout = 20000 }; req.Get(proxyUrl, null); string source = req.Response.ToString(); if (source.Length > 50) { Regex rx = new Regex(@"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}:\d{1,5}"); MatchCollection collection = rx.Matches(source); if (collection.Count > 30) { proxyList.Clear(); foreach (Match item in collection) { try { string value = item.Value.ToString(); if (value.Length > 10) { proxyList.Add(value); } else { continue; } } catch { } } listClearance(ref proxyList); statistics.Proxies = proxyList.Count; statistics.Proxies_FX += proxyList.Count; addLog($"{proxyList.Count} proxies updated", ConsoleColor.Cyan); } else { addLog("There is no enough proxies in pool", ConsoleColor.Red); } } else { addLog("There is no proxies in pool", ConsoleColor.Red); } } } catch (Exception E) { HandleException(E); Thread.Sleep(5000); goto again; } Thread.Sleep(updateInterval * 60000); } })); threadlist.Add(a); a.Start(); } else { try { xNet.HttpRequest req = new xNet.HttpRequest { IgnoreProtocolErrors = true, Cookies = new xNet.CookieDictionary(false), KeepAlive = true, ConnectTimeout = 20000, ReadWriteTimeout = 20000 }; req.Get(proxyUrl, null); string source = req.Response.ToString(); if (source.Length > 50) { Regex rx = new Regex(@"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}:\d{1,5}"); MatchCollection collection = rx.Matches(source); if (collection.Count > 30) { proxyList.Clear(); foreach (Match item in collection) { try { string value = item.Value.ToString(); if (value.Length > 10) { proxyList.Add(value); } else { continue; } } catch { } } listClearance(ref proxyList); statistics.Proxies = proxyList.Count; statistics.Proxies_FX += proxyList.Count; addLog($"{proxyList.Count} proxies updated", ConsoleColor.Cyan); } else { addLog("There is no enough proxies in pool", ConsoleColor.Red); } } else { addLog("There is no proxies in pool", ConsoleColor.Red); } } catch (Exception E) { HandleException(E); } } } catch (Exception E) { HandleException(E); } }
public ApiResult UserQuery(string path, HttpMethod httpMethod, Dictionary <string, string> headers = null, string content = "", bool jsonContent = false) { xNet.HttpResponse response = null; string contentType = null; path = BaseUri + path; if (!(httpMethod == HttpMethod.Get || httpMethod == HttpMethod.Post || httpMethod == HttpMethod.Delete || httpMethod == HttpMethod.Put)) { throw new ArgumentException("Unsupported http method " + httpMethod); } if (httpMethod != HttpMethod.Get && content.Length == 0) { throw new ArgumentException("Empty content."); } if (headers != null && headers.Count == 0) { throw new ArgumentException("Empty headers."); } if (headers != null) { foreach (var h in headers) { _request.AddHeader(h.Key, h.Value); } } if (httpMethod != HttpMethod.Get) { contentType = jsonContent ? "application/json" : "application/x-www-form-urlencoded"; } lock (_obj) { try { if (httpMethod == HttpMethod.Get) { response = _request.Get(path); } else if (httpMethod == HttpMethod.Post) { response = _request.Post(path, content, contentType); } else if (httpMethod == HttpMethod.Delete) { response = _request.Delete(path, content, contentType); } else if (httpMethod == HttpMethod.Put) { response = _request.Put(path, content, contentType); } } catch (xNet.HttpException ex) { return(new ApiResult((int)ex.HttpStatusCode, ex.InnerMessage)); } } content = response.ToString(); ParseResponseHeaders(response); return(new ApiResult((int)response.StatusCode, content)); }
public ActionResult ParsTask(int IdTaskB24, string Domen, string Hesh, string NameTbl) { List <DataAbonent> badabonent = new List <DataAbonent>(); // Список пустых абонентов var converter = new ExpandoObjectConverter(); string content; using (xNet.HttpRequest request = new xNet.HttpRequest()) { content = request.Get("https://" + Domen + "/rest/" + Hesh + "/tasks.task.get?id=" + IdTaskB24).ToString(); } dynamic obj = JsonConvert.DeserializeObject <ExpandoObject>(content, converter); List <string> lstabon = new List <string>(); foreach (var item in obj.result.task.ufCrmTask) { lstabon.Add(item); } // List<object[]> lsttel = new List<object[]>(); //try //{ // lsttel = sql.SelectUserTel(NameTbl); //}catch //{ //} sql.CreateTable(NameTbl); foreach (var item in lstabon) { DataAbonent abonent = new DataAbonent(); string[] dataabon = item.Split('_'); if (dataabon[0] == "C") { using (xNet.HttpRequest request = new xNet.HttpRequest()) { content = request.Get("https://" + Domen + "/rest/" + Hesh + "/crm.contact.get?id=" + dataabon[1]).ToString(); } dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(content, converter); content = System.Text.RegularExpressions.Regex.Unescape(content); abonent.datajson = content; abonent.Type = "Контакт"; abonent.IdEnt = dataabon[1]; try { abonent.telef = obj2.result.PHONE[0].VALUE; } catch { continue; } } else if (dataabon[0] == "CO") { using (xNet.HttpRequest request = new xNet.HttpRequest()) { content = request.Get("https://" + Domen + "/rest/" + Hesh + "/crm.company.get?id=" + dataabon[1]).ToString(); } dynamic obj3 = JsonConvert.DeserializeObject <ExpandoObject>(content, converter); content = System.Text.RegularExpressions.Regex.Unescape(content); abonent.datajson = content; abonent.Type = "Компания"; abonent.IdEnt = dataabon[1]; try { abonent.telef = obj3.result.PHONE[0].VALUE; } catch { continue; } } else if (dataabon[0] == "L") { using (xNet.HttpRequest request = new xNet.HttpRequest()) { content = request.Get("https://" + Domen + "/rest/" + Hesh + "/crm.lead.get?id=" + dataabon[1]).ToString(); } dynamic obj4 = JsonConvert.DeserializeObject <ExpandoObject>(content, converter); content = System.Text.RegularExpressions.Regex.Unescape(content); abonent.datajson = content; abonent.Type = "Лид"; abonent.IdEnt = dataabon[1]; try { abonent.telef = obj4.result.PHONE[0].VALUE; } catch { continue; } } else if (dataabon[0] == "D") { using (xNet.HttpRequest request = new xNet.HttpRequest()) { content = request.Get("https://" + Domen + "/rest/" + Hesh + "/crm.deal.get?id=" + dataabon[1]).ToString(); } dynamic obj5 = JsonConvert.DeserializeObject <ExpandoObject>(content, converter); System.Threading.Thread.Sleep(400); if (obj5.result.COMPANY_ID != "0") { using (xNet.HttpRequest request = new xNet.HttpRequest()) { content = request.Get("https://" + Domen + "/rest/" + Hesh + "/crm.company.get?id=" + obj5.result.COMPANY_ID).ToString(); } dynamic obj3 = JsonConvert.DeserializeObject <ExpandoObject>(content, converter); content = System.Text.RegularExpressions.Regex.Unescape(content); abonent.datajson = content; abonent.Type = "Сделка"; abonent.IdEnt = dataabon[1]; try { abonent.telef = obj3.result.PHONE[0].VALUE; } catch { continue; } } else { if (obj5.result.CONTACT_ID == null) { continue; } using (xNet.HttpRequest request = new xNet.HttpRequest()) { content = request.Get("https://" + Domen + "/rest/" + Hesh + "/crm.contact.get?id=" + obj5.result.CONTACT_ID).ToString(); } dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(content, converter); content = System.Text.RegularExpressions.Regex.Unescape(content); abonent.datajson = content; abonent.Type = "Сделка"; abonent.IdEnt = dataabon[1]; try { abonent.telef = obj2.result.PHONE[0].VALUE; } catch { continue; } } } string strtel = new string(abonent.telef.Where(t => char.IsDigit(t)).ToArray()); strtel = func.FilterNumber(strtel); // lsttel = sql.SelectUserTel(NameTbl); if (string.IsNullOrEmpty(strtel)) { abonent.Title = "Пустой телефон или не верный формат"; badabonent.Add(abonent); continue; } if (!sql.HaveRowsTel(NameTbl, strtel)) { sql.ImportDataTel(NameTbl, strtel, abonent.datajson, IdTaskB24); count++; } else { abonent.Title = "Дубль"; badabonent.Add(abonent); } System.Threading.Thread.Sleep(400); } ViewBag.Count = count; return(View(badabonent)); return(Content("<div style=\"text-align: center; padding: 20px; font-size: 22px; \"><div>Импорт завершен! Всего: " + count + " записей.</div><div><a href=\"/\">Назад</a></div></div>")); }