C# java 中对http post传参数请求

C#中
 //此处为http参数区域,可为普通拼接字符串或json,xml等格式
       string json ="{\"removeFloatingIp\" : {\"address\": \"172.26.80.118\"}}";

       byte[] data = encoding.GetBytes(json);
        //此处为为http请求url
        var uri = new Uri("http://172.26.80.16:8774/v1.1/1/servers/36");
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);


        //用此方法可以添加标准或非标准http请求,诸如conten-type ,accept,range等

        request.Headers.Add("X-Auth-Token", HttpUtility.UrlEncode("openstack"));

        //此处为C#实现的一些标准http请求头添加方法,用上面的方面也可以实现
        request.ContentType = "application/json";
        request.Accept = "application/xml";

       // request.ContentLength = data.Length;

        //此处添加标准http请求方面
        request.Method = "POST";

     System.IO.Stream sm = request.GetRequestStream();
       sm.Write(data, 0, data.Length);
       sm.Close();
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        Stream streamResponse = response.GetResponseStream();
        StreamReader streamRead = new StreamReader(streamResponse, Encoding.UTF8);
        Char[] readBuff = new Char[256];
        int count = streamRead.Read(readBuff, 0, 256);

        //content为http响应所返回的字符流
        String content = "";
        while (count > 0)
        {
            String outputData = new String(readBuff, 0, count);
            content += outputData;
            count = streamRead.Read(readBuff, 0, 256);
        }

        response.Close();
JAVA中:
HttpPost req=new HttpPost("http://172.26.80.15:35357/v2.0/tokens");
		 StringEntity entity = new StringEntity("{\"auth\":{\"passwordCredentials\":{\"username\": \"admin\", \"password\": \"openstack\"}}}");
		
//此处的entity可以定义为ByteArrayEntity,用以可以传任意格式的参数
                 req.setEntity(entity);
		 req.setHeader("Content-type", "application/json");
		 req.setHeader("X-Auth-Token", "openstack");
	      HttpResponse httpresponse = new DefaultHttpClient().execute(req);
	      System.out.println();
	      try{
				BufferedReader reader = new BufferedReader(new 
				InputStreamReader(httpresponse.getEntity().getContent())); 
				String line = reader.readLine(); 
//				while (line != null) { 
//					line = reader.readLine(); 
//				} 
				System.out.println(line);
			}catch (Exception e) {
				e.printStackTrace();
			}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值