Перейти к публикации

sanek911

Пользователи
  • Публикации

    1
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

О sanek911

  • Звание
    Новичок
  1. sanek911

    Доступ К Api Из .net

    Здравствуйте! я использую этот пример как базу для подключиться к API из приложения на C#, если я использую метод без параметров, то все работает отлично, но если я использую метод с параметрами, то у меня ошибка авторизации. Подскажи что не так. public static string ByteToString(byte[] buff) { var sbinary = ""; for (var i = 0; i < buff.Length; i++) { sbinary += buff.ToString("X2"); } return sbinary; } public static string MD5Hash(string instr) { byte[] hash; using (var md5 = new MD5CryptoServiceProvider()) { hash = md5.ComputeHash(Encoding.Default.GetBytes(instr)); } return ByteToString(hash).ToLower(); } public static string SHA1Hash(string instr) { var result = string.Empty; var keyByte = Encoding.Default.GetBytes(Secret); using (var hmacsha = new HMACSHA1(keyByte)) { hmacsha.ComputeHash(Encoding.Default.GetBytes(instr)); result = ByteToString(hmacsha.Hash).ToLower(); } return result; } public void MakeRequest(string query, string paramStr, string methodType) { WebResponse response; var plainTextBytes = Encoding.Default.GetBytes(SHA1Hash(query + paramStr + MD5Hash(paramStr))); var fullQueryStr = Convert.ToBase64String(plainTextBytes); var req = (HttpWebRequest)WebRequest.Create(Address + query); req.Method = methodType; req.Headers.Add("Authorization: " + Key + ":" + fullQueryStr); try { response = req.GetResponse(); } catch (Exception e) { Console.WriteLine(e.Message); throw; } var stream2 = response.GetResponseStream(); var reader = new StreamReader(stream2); var data = reader.ReadToEnd(); reader.Close(); stream2.Close(); } public static void Main() { var queryStr = "number=38097*******&message="Test message"&caller_id=7*****"; MakeRequest(SendSMS, queryStr, MethodType.POST.ToString()); MakeRequest(Sip, string.Empty, MethodType.GET.ToString()); MakeRequest(Balance, string.Empty, MethodType.GET.ToString()); } где получить caller_id - этот параметр
×
×
  • Создать...