使用希伯来字符的Http WebRequest(SQL Server CLR sp)

时间:2014-08-30 17:16:06

标签: c# sql-server web-services get sqlclr

我已准备好CLR存储过程,以便发送针对SMS(消息传递)Web服务的GET请求。这是代码:

[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自动化程序。它奏效了。

我欢迎任何有关如何继续或如何解决问题的建议。

谢谢你。

1 个答案:

答案 0 :(得分:0)

您必须对您的网址进行编码。查看HttpUtility.UrlEncode Method