我一直在提供发送短信的API,API声明我应该使用此网址
http://<server>:<port>/bulksms/bulksms?
username=XXXX&password=YYYYY&type=Y&dlr=Z&destination=QQQQQQQQQ&sour
ce=RRRR&message=SSSSSSSS<&url=KKKK>
消息和网址必须 URL-UTF-8编码。
我所做的就是创建这样的网址:
string urlSMS = string.Format("http://{0}:{1}/bulksms/bulksms?username={2}&password={3}&type={4}&dlr={5}&destination={6}&source={7}&message={8}&url=0",
server, port, username, password, type, dlr, destination, source, message);
然后我这样调用了这个URL:
WebRequest wr = WebRequest.Create(urlSMS);
wr.Timeout = 3500;
try
{
HttpWebResponse response = (HttpWebResponse)wr.GetResponse();
但是,我一直有超时错误消息,我检查了一切,这就是我要问的原因。我需要知道是否
WebRequest.Create(urlSMS)
给我一个URL-UTF-8
编码或不编码。
由于
答案 0 :(得分:1)
是。看起来WebRequest.Create(url)将UTF-8编码为url。
当我尝试这个时:
WebRequest r = WebRequest.Create("http://www.google.com/search?q=♥");
我可以看到URI被编码的内部表示:r.RequestUri.AbsoluteUri
返回http://www.google.com/search?q=%E2%99%A5
r.RequestUri.ToString()
返回http://www.google.com/search?q=♥
。