首页 新闻 会员 周边

c#怎么访问java写得api

0
悬赏园豆:20 [待解决问题]

现在我要用c#调用别人java写得api,访问的url是以.do结尾的,是一个post访问,我还要传参数给他,并且他会返回一个json给我,麻烦问下大神们,这个如何访问,谢谢哈

Google-WL的主页 Google-WL | 初学一级 | 园豆:103
提问于:2015-04-04 11:32
< >
分享
所有回答(7)
0

简单的方案,创建一个WebClient对象,封装了很多。

复杂点的,使用HttpRequest来访问(WebClient就是一个封装)。

519740105 | 园豆:5810 (大侠五级) | 2015-04-04 14:50
0
 Encoding code = Encoding.GetEncoding("utf-8");

            //待请求参数数组字符串
            string strRequestData = "";

            //把数组转换成流中所需字节数组类型
            byte[] bytesRequestData = code.GetBytes(strRequestData);

            //构造请求地址
            string strUrl = "http://www.xxx.com/api/xxx.do";

            //请求远程HTTP
            string strResult = "";
            try
            {
                //设置HttpWebRequest基本信息
                HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(strUrl);
                myReq.Method = "post";
                myReq.ContentType = "application/x-www-form-urlencoded";

                //填充POST数据
                myReq.ContentLength = bytesRequestData.Length;
                Stream requestStream = myReq.GetRequestStream();
                requestStream.Write(bytesRequestData, 0, bytesRequestData.Length);
                requestStream.Close();

                //发送POST数据请求服务器
                HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
                Stream myStream = HttpWResp.GetResponseStream();

                //获取服务器返回信息
                StreamReader reader = new StreamReader(myStream, code);
                StringBuilder responseData = new StringBuilder();
                String line;
                while ((line = reader.ReadLine()) != null)
                {
                    responseData.Append(line);
                }

                //释放
                myStream.Close();

                strResult = responseData.ToString();
            }
            catch (Exception exp)
            {
                strResult = "报错:" + exp.Message;
            }
暗尘掩月 | 园豆:183 (初学一级) | 2015-04-08 15:15
0

jsonp

junjieok | 园豆:779 (小虾三级) | 2015-04-09 09:17
0

webservice

迅捷网络[来送福利] | 园豆:576 (小虾三级) | 2015-04-09 12:42
0

webservice

魔方菜鸟 | 园豆:29 (初学一级) | 2015-04-25 22:18
0

使用HttpWebRequest或WebClient,将Method设置成POST,要提交的参数拼接成字符串用文件流写进去就是了。Java端可以获取到的。记得设置表单属性。

爱吃皮皮虾 | 园豆:54 (初学一级) | 2015-05-10 05:38
0

看,各种虾,各种鸟都出来了。方法够用了吧。

| 园豆:780 (小虾三级) | 2015-05-25 14:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册