这两天在搞bing translate api,需要写http post request访问服务器,但是官网给的api是C#写的,可惜我不懂C#(主要问题是没做过java的http request),一半的代码都差不多用java实现了,但是核心部分的http request却看不懂,请哪位懂C#和java的人,能不能给我解释下下面这段C#的代码:
[code="C#"]
private AdmAccessToken HttpPost(string DatamarketAccessUri, string requestDetails)
{
//Prepare OAuth request
WebRequest webRequest = WebRequest.Create(DatamarketAccessUri);
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(requestDetails);
webRequest.ContentLength = bytes.Length;
using (Stream outputStream = webRequest.GetRequestStream())
{
outputStream.Write(bytes, 0, bytes.Length);
}
using (WebResponse webResponse = webRequest.GetResponse())
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(AdmAccessToken));
//Get deserialized object from JSON stream
AdmAccessToken token = (AdmAccessToken)serializer.ReadObject(webResponse.GetResponseStream());
return token;
}
}
[/code]
我就是不知道该怎么用java实现这段C#代码,我试着写了下,第一步用的是WebClient webClient = new WebClient();结果程序跑到这句就抛错了
可以使用apache的httpclient来模拟一个http请求.