Я подготовил хранимую процедуру CLR для отправки запросов GET для веб-службы SMS (обмена сообщениями). Это код:Http WebRequest с символами на иврите (SQL Server CLR sp)
[Microsoft.SqlServer.Server.SqlProcedure]
public static void HttpGet(SqlString uri, out SqlString textResponse)
{
Uri webUri = new Uri(uri.Value);
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(webUri);
webReq.Method = "GET";
WebResponse response = webReq.GetResponse();
Stream dataStream = response.GetResponseStream();
using (dataStream)
{
StreamReader reader = new StreamReader(dataStream);
using (reader)
{
textResponse = reader.ReadToEnd();
}
}
}
Я пытаюсь отправить следующий запрос:
http://serviceaddress/SMSManager/msgSend.jsp?msg=עברית&to=sms:050-1234567&encoding=windows-1255
почему-то сообщение я получаю это в тарабарщину.
- Я попытался отправить запросы с ивритскими письмами на другие веб-службы, и он отлично работал.
- Я пробовал URL-кодирование иврита, и он тоже не работал. Я попытался изменить запрошенную кодировку на «utf8» или пропустить ее. не работает.
- Я попытался использовать точно такой же URL (с ивритскими буквами) с процедурой автоматизации OLE. Это сработало.
Я приветствовал бы любые советы о том, как продолжить или как исправить эту проблему.
Спасибо.
Я попытался использовать точно такой же URL (с ивритскими буквами) с процедурой автоматизации OLE. Это сработало. –
Вы можете указать кодировку для StreamReader. Используйте 'new StreamReader (dataStream, Encoding.UTF8);' (или независимо от вашей кодировки) –
Не относится ли это только к ответу? –