1
我已经准备好一个CLR存储过程以便发送SMS(消息)Web服务的GET请求。这是代码: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
出于某种原因,我得到的消息是在胡言乱语。
- 我试过用希伯来字母发送请求到其他Web服务,它工作正常。
- 我试过URL编码希伯来文部分,它也没有工作。我尝试将所需的编码更改为'utf8'或省略它。没有工作。
- 我尝试使用与OLE自动化过程完全相同的URL(使用希伯来语字母)。有效。
我会欢迎任何有关如何继续或如何解决问题的建议。
谢谢你。
我尝试使用完全相同的URL(使用希伯来语字母)与OLE自动化过程。有效。 – 2014-08-31 07:27:28
您可以指定“StreamReader”的编码。使用'新的StreamReader(dataStream,Encoding.UTF8);'(或任何你的编码) – 2014-08-31 07:33:33
不只适用于响应? – 2014-08-31 07:51:16