c# 调用java的rest接口的疑问

three1983 2019-04-13 11:07:20
对方公司提供了一个rest接口,我大概百度了一下 基本操作就是 http Post操作 但是目前的问题是我没看懂对方的给我的接口形式我该如何传参数
http://192.168.1.100:8090/test/rest/token/zhangsan/123@bac 我在IE浏览器中直接输入这个地址以后可以得到一个返回值是josn
我取到json值以后再调用另外一个地址 把json解析出来以后再作为一个参数传递到另外一个地址
其中zhangsan是用户名,123@abc是密码
我们常规的post都会有一个用户名和比如username=zhangsan&password=123@abc 但是如上的地址中传参形式小弟一直没遇到过

另外一个接口地址
http://192.168.1.100:8090/test/rest/msg/新文件到了/yonghu?token=123123123123123123;
新文件到了是我要发送的消息内容,yonghu是我获取的我一个参数,123123123123123是上个地址返回值;


我的代码如下求大神帮忙看一下午下面的方法是否可以实现

 WebClient web = new WebClient();
string url = "http://192.168.1.100:8090/test/rest/token/zhangsan/123@bac";
string paramStr = "";
byte[] b = System.Text.Encoding.UTF8.GetBytes(paramStr);
web.Headers.Add("Conten-Type", "application/x-www-form-urlencoded");
byte[] responseDate = web.UploadData(url, "POST", b);
string srcString = Encoding.UTF8.GetString(responseDate);

UsersEntity etyuser = new UsersEntity();
etyuser.Userdept = etyFileBox.Boxname;
DataTable dts = new UserBusiness().Search(etyuser, "").Tables[0];
if (dts.Rows.Count > 0)
{
for (int i = 0; i < dts.Rows.Count; i++)
{
WebClient webs = new WebClient();
string urls = "http://171.221.172.70:8090/seeyon/rest/msg/新文件到了/" + dts.Rows[i]["UserCode"].ToString() + "?token=" + srcString;
string paramStrss = "";
byte[] bb = System.Text.Encoding.UTF8.GetBytes(paramStrss);
web.Headers.Add("Conten-Type", "application/x-www-form-urlencoded");
byte[] responseDates = web.UploadData(urls, "POST", bb);
string srcStrings = Encoding.UTF8.GetString(responseDates);
}
}

...全文
456 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
three1983 2019-04-13
  • 打赏
  • 举报
回复
引用 1 楼 stherix的回复:
我看了下,这些请求应该都是用GET,而非POST 所有的参数其实都是在url地址里传送的,并不需要body
是不是这两个地址都都直接拼url然后 把post改成get 就行了,因为post我还要传个空值进去才行,如果用get我就直接拼就行了,是这意思吧
three1983 2019-04-13
  • 打赏
  • 举报
回复
引用 1 楼 stherix 的回复:
我看了下,这些请求应该都是用GET,而非POST 所有的参数其实都是在url地址里传送的,并不需要body
意思是我直接把URL拼接进去 然后用GET方法直接调用就行了呗
stherix 2019-04-13
  • 打赏
  • 举报
回复
我看了下,这些请求应该都是用GET,而非POST 所有的参数其实都是在url地址里传送的,并不需要body
stherix 2019-04-13
  • 打赏
  • 举报
回复
引用 3 楼 three1983 的回复:
[quote=引用 1 楼 stherix的回复:]我看了下,这些请求应该都是用GET,而非POST 所有的参数其实都是在url地址里传送的,并不需要body
是不是这两个地址都都直接拼url然后 把post改成get 就行了,因为post我还要传个空值进去才行,如果用get我就直接拼就行了,是这意思吧[/quote] 是的

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧