我是Web服务调用的新手;我可以做简单的GET并解析JSON输出。对POST不好,特别是如果URI有空格和引号。
我正在尝试将以下URI发送到Windows Phone 7.1(模拟器)中的服务器。它说“找不到错误”。这个错误似乎是通用的;不管怎样,它并没有说出真正的错误。
https://aaabbb.com//services/v4/put/users/xxxxx/device?deviceId=2NDJDRkI5MEVFME -H'访问:令牌令牌= CXJTY'
此处没有JSON正文/数据。它只是带有显示的参数的URL。那些数据也是如此。
如何使用WebClient类或RestSharp执行此操作?我在WP 7中使用WebClient类尝试了这个。没有成功。所以下载了RestSharp;但不确定如何发送没有任何JSON数据的上述URI。
我按照这里的一些帖子来使用WeClient类。它没用。
答案 0 :(得分:1)
您需要对网址进行网址编码。为此,你可以这样做:
string deviceId = HttpUtility.UrlEncode("2NDJDRkI5MEVFME -H 'Access: Token token=CXJTY'");
Uri uri = new Uri("https://aaabbb.com/services/v4/put/users/xxxxx/device");
string data = "deviceId=" + deviceID;
WebClient wc = new WebClient();
wc.Headers(HttpRequestHeader.ContentType) = "application/x-www-form-urlencoded";
wc.UploadStringAsync(uri, data);
wc.UploadStringCompleted += wc_UploadComplete;