c# restsharp官网_hbase shell put

c# restsharp官网_hbase shell putusingSystem;usingSystem.Net.Http;usingSystem.Threading.Tasks;usingSystem.Collections.Generic;usingNewtonsoft.Json;usingSystem.Net;usingSystem.IO;usingSystem.Text;usingRestSharp;namespaceHttpClientQuery{classPageInfo{publicintstar

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Collections.Generic;
using Newtonsoft.Json;
using System.Net;
using System.IO;
using System.Text;
using RestSharp;

namespace HttpClientQuery
{

class PageInfo
{

public int start { get; set; } //得是public类型

public string table { get; set; }

}

class FilterData
{

public string name { get; set; }

public string value { get; set; }

}

class DocQueryParam
{

public string id { get; set; }

public List<FilterData> filterData { get; set; }

public List<PageInfo> paginationInfo { get; set; }

public int searchType { get; set; }

public string tablename { get; set; }

}

class FileInfo
{

public string fileId { get; set; }
public string name { get; set; }
public int fileSize { get; set; }
public string fileType { get; set; }
public int level { get; set; }
public DateTime recordTime { get; set; }

}

class DocQueryResult
{

public Boolean result { get; set; }
public string errMessage { get; set; }
public string queryId { get; set; }
public List<FileInfo> queryFileList { get; set; }
public List<PageInfo> paginationHistoryInfo { get; set; }
public string IsEnd { get; set; }

}

class DocQuery
{

public DocQuery()
{

}
/// <summary>
/// 使用get方法异步请求
/// </summary>
/// <param name=”url”>目标链接</param>
/// <returns>返回的字符串</returns>
public static async Task<string> postAsync(string url, String jsonStr)
{

HttpClient client = new HttpClient(new HttpClientHandler() { UseCookies = false });

HttpContent content = new StringContent(jsonStr);
content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(“application/json”);

HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();//用来抛异常的
string responseBody = await response.Content.ReadAsStringAsync();

Console.WriteLine(responseBody);

return responseBody;

}

public static string post(string url, string postdata)
{

HttpWebResponse hw;
string result = string.Empty;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = “POST”;
req.ContentType = “application/json”;
#region 添加Post 参数
byte[] data = Encoding.UTF8.GetBytes(postdata);
req.ContentLength = data.Length;
using (Stream reqStream = req.GetRequestStream())
{

reqStream.Write(data, 0, data.Length);//将post对象放入请求流中
reqStream.Close();
}
#endregion
try
{

HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
//获取响应内容
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{

result = reader.ReadToEnd();
}
}
catch (WebException w)
{

hw = (HttpWebResponse)w.Response;
StreamReader sr = new StreamReader(hw.GetResponseStream(), Encoding.UTF8, false);
result = sr.ReadToEnd();
}
return result;
}

public static DocQueryResult restPost(string postdata, string url, string query)
{

RestSharp.RestClient client = new RestSharp.RestClient(url);
RestRequest req = new RestRequest(query, Method.POST);
req.RequestFormat = RestSharp.DataFormat.Json;
//req.AddHeader(“cache-control”, “no-cache”);

req.AddJsonBody(postdata);
//IRestResponse rsp = client.Execute(req);
//return rsp.Content;
IRestResponse<DocQueryResult> rsp = client.Execute<DocQueryResult>(req);
DocQueryResult result = rsp.Data;
return result;
}

public void test()
{

DocQueryParam docQueryParam = new DocQueryParam();
docQueryParam.id = “2311”;
docQueryParam.searchType = 2;
docQueryParam.tablename = “c_data”;

List<FilterData> filterDataList = new List<FilterData>();

FilterData filterData = new FilterData();
filterData.name = “model”;
filterData.value = “L”;
filterDataList.Add(filterData);

filterData = new FilterData();
filterData.name = “batch”;
filterData.value = “02”;
filterDataList.Add(filterData);

docQueryParam.filterData = filterDataList;

List<PageInfo> pageInfoList = new List<PageInfo>();

PageInfo pageInfo = new PageInfo();
pageInfo.start = 20;
pageInfo.table = “c_data”;
pageInfoList.Add(pageInfo);

docQueryParam.paginationInfo = pageInfoList;

//序列化
//var jsonStr = JsonConvert.SerializeObject(docQueryParam);
//Console.WriteLine(“docQuery json str: ” + jsonStr);

string url = “http://192.168.1.100:8080/archive/archiveQuery”;

var ret = DocQuery.postAsync(url, jsonStr); //给调用该方法的方法加上async
//DocQueryResult docQueryResult = JsonConvert.DeserializeObject<DocQueryResult>(ret);
//var docQueryResult = JsonConvert.DeserializeObject<DocQueryResult>(ret.Result);
//string isend = docQueryResult.getIsEnd();

Console.ReadKey();

}

}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195854.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab微分方程组_matlab求微分方程特解

    matlab微分方程组_matlab求微分方程特解主要内容:matlab参数识别应用,主要适用于微分方程、微分方程组参数识别、simulink模型参数识别,领域不限。1使用matlab识别微分方程参数以及微分方程组(多个微分方程)参数2使用matlab调用simulink并识别simulink模型的参数(m函数与simulink交互)内容为本人在学习过程中总结的知识,拿出来与大家分享,希望大家多多讨论。下边贴出一部分源码,其它完整内容在附件的…

    2022年9月6日
    5
  • Error: A JNI error has occurred, please check your installation and try again解决[通俗易懂]

    Error: A JNI error has occurred, please check your installation and try again解决[通俗易懂]为什么会出现这个问题?因为你的java-verion和javac-version版本不一致为什么两个版本不一致?因为你重复多次安装JDK,导致你的电脑上存在多个JDK版本,这样你运行java命令的时候就会出现这个错。怎么解决两个版本不一致问题?让你的java-verion和javac-version版本不致就可以了怎样保持一致?你要卸载掉旧的JDK,这样剩余的j…

    2022年5月28日
    38
  • vscode 前端常用插件推荐「建议收藏」

    1.vscode简介vscode是微软开发的的一款代码编辑器,就如官网上说的一样,vscode重新定义(redefined)了代码编辑器。 当前市面上常用的轻型代码编辑器主要是:sublime,notepad++,editplus,atom这几种。 比起notepad++、editplus,vscode集成了许多IDE才具有的功能,比起它们更像一个代码编辑器; 比起sublime,…

    2022年4月7日
    59
  • js layui 弹出子窗体_Layui弹出层 加载 做编辑页面的方法[通俗易懂]

    js layui 弹出子窗体_Layui弹出层 加载 做编辑页面的方法[通俗易懂]layui是一款优秀的模块化前端框架。利用layui弹出层做编辑页面先上效果图基本准备,引入layui的layui.css,layui.js文件Js方法/***页面内弹出编辑窗口//需要引入layui.jslayui.css文件*@param{}title标题不显示为false*@param{}area大小[“400px”,”500px”]或者”400px”—&…

    2022年5月16日
    114
  • 我为什么放弃Go语言

    我为什么放弃Go语言我为什么放弃Go语言?有好几次,当我想起来的时候,总是会问自己:这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。开门见山地说,我当初放弃Go语言,就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论,但是我有足够详实的客观的论据。

    2022年6月30日
    23
  • zencart 引用模板语句「建议收藏」

    zencart 引用模板语句「建议收藏」例如引用:head模板:&lt;?php/***preparesanddisplaysheaderoutput**/if(CUSTOMERS_APPROVAL_AUTHORIZATION==1&amp;&amp;CUSTOMERS_AUTHORIZATION_HEADER_OFF==’true…

    2022年7月27日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号