java web http请求_在java中向Web服务发出Http请求

我在C#项目中创建了一个Web请求来使用Web服务的以下方法:

private HttpWebRequest BuildRequest(string fullUri, object param, RequestMethod method, Dictionary requestHeaders)

{

HttpWebRequest request = WebRequest.Create(fullUri) as HttpWebRequest;

request.Method = method.ToString().ToUpper();

request.Accept = "application/json";

request.ContentType = "application/json";

foreach (var h in requestHeaders)

{

request.Headers.Add(string.Format("{0}: {1}", h.Key, h.Value));

}

if (method == RequestMethod.Post)

{

JavaScriptSerializer ser = new JavaScriptSerializer();

string postData = ser.Serialize(param);

request.ContentLength = postData.Length;

Stream s = request.GetRequestStream();

StreamWriter sw = new StreamWriter(s);

sw.Write(postData);

sw.Flush();

}

return request;

}现在我想在Java中做同样的事情,但无法完全弄清楚。到目前为止,我有...

private HttpRequestBase BuildRequest(String fullUri, Object param,

RequestMethod method, HashMap requestHeaders) {

HttpRequestBase request = null;

if(method == RequestMethod.GET) {

request = new HttpGet(fullUri);

} else if (method == RequestMethod.POST) {

request = new HttpPost(fullUri);

}

request.addHeader(new BasicHeader("Accept", "application/json"));

request.addHeader(new BasicHeader("ContentType", "application/json"));

for(Map.Entry header : requestHeaders.entrySet()) {

request.addHeader(new BasicHeader(header.getKey(), header.getValue()));

}

return request;

}据我所知,看起来像它会工作,但我需要像我在C#版本中所做的那样获取请求流,以便将对象作为json发送,但不能看到如何获取它。所以我的问题是如何从HttpRequestBase或任何其他可用于在java中构建HttpRequest的对象中获取它。

谢谢。

FYI .. RequestMethod是一个枚举GET或POST“

这是在android应用程序中,所以我可以在android sdk中使用任何东西。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值