c# - 如何将 curl 请求转换为 HttpClient

标签 c# .net curl dotnet-httpclient asynchttpclient

我有一个如下所示的 curl 请求:

curl -i -XPOST 'http://my_url:port/write?db=myDb' -u user:xxxxx --data-binary 'FieldName,host=M.233 value=52.666 timestamp'

我正在尝试使用 HttpClient 发布此请求。我不确定我应该怎么调用它。这是我尝试做的:

public async void  TestHttpClient()
{ 
    var client = new HttpClient();
    var credentials = Encoding.ASCII.GetBytes("user:xxxxx");
    var header = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(credentials));
    client.DefaultRequestHeaders.Authorization = header;
    client.BaseAddress = new Uri("http://my_url:port/write?db=myDb");
    var result = await client.PostAsync(..);
}

我应该为 PostAsync() 编写哪些参数?

如何将 --data-binaryFieldName,host=M.233 value=52.666 timestamp 从 curl 转换为 HttpClient?

最佳答案

我的解决方案是:

public async Task TestHttpClient()
{ 
    var client = new HttpClient();
    var credentials = Encoding.ASCII.GetBytes("user:xxxxx");
    var header = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(credentials));
    client.DefaultRequestHeaders.Authorization = header;
    String url = "http://my_url:port/write?db=myDb";
    String content = "FieldName,host=M.233 value=52.666 timestamp";
    StringContent stringContent = new StringContent(content);
    var result = await client.PostAsync(url, stringContent);
}

关于c# - 如何将 curl 请求转换为 HttpClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43373878/

相关文章:

.net - 使用 MEF 动态加载 XAP 文件时出现问题。 IE 正在崩溃

php - 是否可以通过我自己的网站向 Craigslist 发布信息?

c# - 插入大量数据的最佳选择

c# - 矩形包含问题

c# - 进程外 SessionState 内存管理

.net - 在哪里存储程序注册信息

php - 如何避免使用 PHP cURL 进行 URL 通配?

curl - 使用curl 通过 SOCKS5 代理 (tor) 执行 https 请求

c# - 重载概念与示例

c# - 事件未采用 EntityDataSource 控件的正确命名空间