微软服务器异常是什么原因,远程服务器返回异常:(400)异常的请求,微软的翻译接口...

当前位置:我的异常网» C# » 远程服务器返回异常:(400)异常的请求,微软的翻译接

远程服务器返回异常:(400)异常的请求,微软的翻译接口

www.myexceptions.net  网友分享于:2015-08-26  浏览:891次

远程服务器返回错误:(400)错误的请求,微软的翻译接口

最近在用微软的翻译接口,但也是报 远程服务器返回错误:(400)错误的请求, 问题出在下面我标示为红色的代码,请高手指点一下错在哪了

static void Main(string[] args)

{

AdmAccessToken admToken;

string headerValue;

//Get Client Id and Client Secret from https://datamarket.azure.com/developer/applications/

//Refer obtaining AccessToken (http://msdn.microsoft.com/en-us/library/hh454950.aspx)

string clientID = "hongxuebiaoTranslator";

string clientSecret = "KJn2ZfUPAAruDJECbpg7MrzsNWGiHtcmjmeQJYkD6hw";

AdmAuthentication admAuth = new AdmAuthentication(clientID, clientSecret);

try

{

admToken = admAuth.GetAccessToken();

// Create a header with the access_token property of the returned token

headerValue = "Bearer " + admToken.access_token;

TranslateMethod(headerValue);

}

catch (WebException e)

{

ProcessWebException(e);

Console.WriteLine("Press any key to continue...");

Console.ReadKey(true);

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

Console.WriteLine("Press any key to continue...");

Console.ReadKey(true);

}

}

private static void TranslateMethod(string authToken)

{

string text = "Use pixels to express measurements for padding and margins.";

string from = "en";

string to = "de";

string uri = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text=" + System.Web.HttpUtility.UrlEncode(text) + "&from=" + from + "&to=" + to;

HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(uri);

httpWebRequest.Headers.Add("Authorization", authToken);

WebResponse response = null;

try

{

response = httpWebRequest.GetResponse();

using (Stream stream = response.GetResponseStream())

{

System.Runtime.Serialization.DataContractSerializer dcs = new System.Runtime.Serialization.DataContractSerializer(Type.GetType("System.String"));

string translation = (string)dcs.ReadObject(stream);

Console.WriteLine("Translation for source text '{0}' from {1} to {2} is", text, "en", "de");

Console.WriteLine(translation);

}

Console.WriteLine("Press any key to continue...");

Console.ReadKey(true);

}

catch

{

throw;

}

finally

{

if (response != null)

{

response.Close();

response = null;

}

}

}

private static void ProcessWebException(WebException e)

{

Console.WriteLine("{0}", e.ToString());

// Obtain detailed error information

string strResponse = string.Empty;

using (HttpWebResponse response = (HttpWebResponse)e.Response)

{

using (Stream responseStream = response.GetResponseStream())

{

using (StreamReader sr = new StreamReader(responseStream, System.Text.Encoding.ASCII))

{

strResponse = sr.ReadToEnd();

}

}

}

Console.WriteLine("Http status code={0}, error message={1}", e.Status, strResponse);

}

}

[DataContract]

public class AdmAccessToken

{

[DataMember]

public string access_token { get; set; }

[DataMember]

public string token_type { get; set; }

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值