Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C#.NET Framework在HTTP请求中添加2个身份验证头_C#_.net_Httpclient - Fatal编程技术网

如何使用C#.NET Framework在HTTP请求中添加2个身份验证头

如何使用C#.NET Framework在HTTP请求中添加2个身份验证头,c#,.net,httpclient,C#,.net,Httpclient,因此,这只是一个简单的例子,只是拉在谷歌主页信息。但我想做的是在C#.NET框架中使用HttpClient从rest API获取数据,但问题是我不知道如何添加2个身份验证头,这两个参数应该是API密钥和API密钥。这是我现在的代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Lin

因此,这只是一个简单的例子,只是拉在谷歌主页信息。但我想做的是在C#.NET框架中使用HttpClient从rest API获取数据,但问题是我不知道如何添加2个身份验证头,这两个参数应该是API密钥和API密钥。这是我现在的代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Reporting
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnSubmit_Click(object sender, EventArgs e)
        {
            string StartDate = dtpStartDate.Text;
            string EndDate = dtpEndDate.Text;
            Main();

            async Task Main()
            {
                try
                {
                    var client = new HttpClient();
                    // Call asynchronous network methods in a try/catch block to handle exceptions.
                    HttpResponseMessage response = await client.GetAsync("https://www.google.com");
                    response.EnsureSuccessStatusCode();
                    string responseBody = await response.Content.ReadAsStringAsync();
                    // Above three lines can be replaced with new helper method below
                    // string responseBody = await client.GetStringAsync(uri);
                    label1.Text = responseBody;
                }
                catch (Exception ex)
                {
                    label2.Text = ex.ToString();
                    //throw ex;
                }
            }
        }
    }
}

你能试试下面的吗

client.DefaultRequestHeaders.Add("API-Key", "");
client.DefaultRequestHeaders.Add("API-Secret-Key", "");

请注意,这确实为HttpClient的生命周期添加了头文件

您可以建议为UNIX/Linux http客户端库设置临时Curl。它与.NET的HTTP客户端库无关。我已经为你调整了术语,这样这个问题才有意义。