- Регистрация
- 06.09.2014
- Сообщения
- 22
- Благодарностей
- 8
- Баллы
- 3
Не могу правильно передать русский текст, нужно закодировать в UTF-8. В ответ приходит ошибка.
В таком варианте из кириллицы получаются черные ромбики. Так же пробовал куски кода найденные в других темах в ответ всегда получаю ошибку{"error":{"error_msg":"Incorrect signature","error_token":"NONE","extended":null,"error_code":104}}
Код:
string ans = "111 test тест";
var fromEncodind = Encoding.Default;//из какой кодировки
var bytes = fromEncodind.GetBytes(ans);
var toEncoding = Encoding.GetEncoding("UTF-8");//в какую кодировку
string text = toEncoding.GetString(bytes);
project.SendInfoToLog(toEncoding.GetString(bytes), true);
// // подготавливаем запрос в md5
var zapros =
"app_id=" + project.Variables["mail_id"].Value +
"method=multipost.send" +
"photo=" + project.Variables["mail_photo_id_all"].Value +
"secure=1" +
"session_key="+project.Variables["mail_access_token"].Value+
"text=" + text +
"uid2=" + project.Variables["mail_uid_group"].Value +
project.Variables["mail_secret_key"].Value;
// зашифровываем в md5
MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(zapros);
byte[] hash = md5.ComputeHash(inputBytes);
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
sb.Append(hash[i].ToString("X2"));
}
project.Variables["mail_md5"].Value = Macros.TextProcessing.ToLower(sb.ToString(), "All");
// Отправляем пост
var postInfo = ZennoPoster.HttpPost(
"http://www.appsmail.ru/platform/api",
"method=multipost.send" +
"&app_id=" + project.Variables["mail_id"].Value +
"&uid2=" + project.Variables["mail_uid_group"].Value +
"&photo=" + project.Variables["mail_photo_id_all"].Value +
"&text=" + text +
"&secure=1" +
"&session_key=" + project.Variables["mail_access_token"].Value +
"&sig=" + project.Variables["mail_md5"].Value,
"application/x-www-form-urlencoded",
"",
"UTF-8",
ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly,
30000,
"",
"",
true,
5,
new[] {
"Accept: "+project.Profile.HTTPAccept,
"Accept-Encoding: "+project.Profile.AcceptEncoding,
"Accept-Language: "+project.Profile.AcceptLanguage
}
);
project.Variables["info"].Value = postInfo;