2015-05-27 95 views
1

我一直給一個API來發送短信,我應該使用這個網址c#是WebRequest.Create給我一個URL編碼?

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的API狀態編碼

我所做的是創建一個URL像這樣:

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編碼或不。

謝謝

回答

1

是的。它看起來像WebRequest.Create(url)將UTF-8編碼的網址。

當我試試這個:

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=♥