当前位置: 首页 > 知识库问答 >
问题:

把柱子卷成C形#

单耘豪
2023-03-14

我正在试图找到一种方法,如何将curl命令传输到C#。

我需要的是从api获取令牌并将其保存到文件C:\。。。\x、 json\

然后我想将令牌声明为变量,并将其用于另一个curl POST请求以获取数据。

卷曲:

curl -X POST "https://example.com" 
-H "accept: application/json" 
-H "Content-Type: application/json" 
-d {"username":"username","password":"password"}

我目前的尝试:

static void Main(string[] args)
{
    using (var httpClient = new HttpClient())
    {
        using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://example.com"))
        {
            request.Headers.TryAddWithoutValidation("Accept", "application/json");

            request.Content = new StringContent("{\"username\":\"username\",\"password\":\"password\"}", Encoding.UTF8, "application/json");

            var response = await httpClient.SendAsync(request);
        }
    }                        
}

我试了几样东西,但都不管用。这是从curl.olsh.me,但我也得到一些等待错误,我不知道该怎么办。(我是C#的新手):

“await”运算符只能在异步方法中使用。考虑用“AsiNC”修饰符标记该方法,并将其返回类型改为“任务”。

curl-v输出:

共有3个答案

邹宣
2023-03-14

异步主方法在C#7中可用。如果您使用的是早期版本,则可以像这样“手动”处理任务

var task = httpClient.SendAsync(request);
task.Wait();
var response = task.Result;
Console.WriteLine(response.Content.ReadAsStringAsync().Result);
卢皓轩
2023-03-14

你必须使主方法async

static async void Main(string[] args)

如果您使用的是C#版本

Task task = ....;
task.Wait();
var result = task.Result;
谷飞星
2023-03-14

使用本网站https://curl.olsh.me/

using (var httpClient = new HttpClient())
{
    using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://example.com/"))
    {
        request.Headers.TryAddWithoutValidation("Accept", "application/json"); 

        request.Content = new StringContent("{\"username\":\"username\",\"password\":\"password\"}", Encoding.UTF8, "application/json"); 

        var response = await httpClient.SendAsync(request);
    }
}
 类似资料:
  • 操作步骤: 菜单栏: Refactor —> Push Members Down...

  • 这样不仅可以将转移页面的子元素放入数组,还可以将子元素的子元素放入数组。

  • 第一题:粒子实验,带有标号的粒子按顺序发射,无意外也应该按顺序到达,现在给你两个数组,分别表示各个粒子发射顺序和到达顺序,判断有几个粒子出了意外。 做法,哈希+寻找逆序元素的个数;通过100% #include<bits/stdc++.h> using namespace std; int main() {   int n;   cin>>n;   vector<int> v1(n),v2(n);

  • Oracle Java社区网站上的一篇文章给出了以下方法作为示例(对于JPA转换器,但我想这与此无关): 将字符串y转换为字符串val有什么用?这样做有正当理由吗? 原创文章:JPA中的新功能

  • 已更新 如果我从自动关键点线中删除“points=FALSE”,图例将显示颜色,但不会显示矩形,而是圆形/点。 原始问题 我有一个包含图例的堆积条形图,我想在条形图中添加数字以显示相对值。我似乎能做到其中一个(传说和价值观),但不能两者兼而有之。 使用下面的测试代码,我得到了一个显示堆叠条形图中的值的图形。 如果我运行此代码,我会得到一个带有图例的图表。 但当我组合代码时,结果图不会显示图例中的颜

  • 提前谢了。