Я использую синтаксический анализ для отправки push-сообщений. Я создал простой инструмент, позволяющий администраторам отправлять сообщения пользователям.Использование символов с акцентом с REST API parse
Эта функция работает нормально, проблема возникает, когда я передаю переменную pushMessage строку «Você recebeu uma mensagem». Это происходит потому, что я использую символ «^». Если я использую одну и ту же строку в панели синтаксического разбора, сообщение отправляется.
Как я могу разобрать строку, чтобы предотвратить эту проблему на C#?
Parse.cs
private bool PushNotification(string pushMessage, string title, string canais)
{
bool isPushMessageSend = false;
string postString = "";
string urlpath = "https://api.parse.com/1/push";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(urlpath);
/*postString = "{ \"channels\":"+ canais +", " +
"\"data\" : {\"alert\":\"" + pushMessage + "\"}" +
"}";*/
/* postString = "{ \"channels\":"+ canais +", " +
"\"data\": {\"message\": \"" + pushMessage + "\",\"title\": \"" + title + "\",\"is_background\": false}}";*/
postString = "{ \"channels\":" + canais + ", " +
"\"data\": {\"data\": {\"message\": \""+pushMessage+"\",\"title\": \""+title+"\"},\"is_background\": \"false\"}}";
httpWebRequest.ContentType = "application/json";
httpWebRequest.ContentLength = postString.Length;
httpWebRequest.Headers.Add("X-Parse-Application-Id", "xxxxxxxxxxxxxx");
httpWebRequest.Headers.Add("X-Parse-REST-API-KEY", "xxxxxxxxxxxxxxx");
httpWebRequest.Method = "POST";
StreamWriter requestWriter = new StreamWriter(httpWebRequest.GetRequestStream());
requestWriter.Write(postString);
requestWriter.Close();
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
try
{
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var responseText = streamReader.ReadToEnd();
if(responseText.Contains("true"))
{
MessageBox.Show("Mensagem enviada com sucesso");
}
}
}catch(Exception e)
{
MessageBox.Show("Problema ao enviar mensagem\nErro:"+e.ToString());
}
reset();
return isPushMessageSend;
}
Вы пробовали кодирующую строку перед отправкой его в запросе? – Alexander
@ Александр нет, как я могу это сделать? – JulianOliveira
Можете ли вы прояснить проблему больше? Разве что этот разбор не принимает диакритический? –