我正在尝试发送传递一些 header 和身份验证信息的 curl
请求。
我想发送的所有信息都已成功发送,但我仍然不知道如何发送应该使用的 api key ,而不是正常的用户名/密码方式。
当我使用在线 curl
网站发送 curl
请求时,我将 :
放在 api key 之后,然后一切正常。
这就是我想在 C# 中使用 HttpWebRequest
这是我为此使用的代码:
string credentials = String.Format("{0}:{1}", "API_KEY", "GivenApiKey: ");
byte[] bytes = Encoding.ASCII.GetBytes(credentials);
string base64 = Convert.ToBase64String(bytes);
string authorization = String.Concat("Basic ", base64);
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.website.com/test");
httpWebRequest.ReadWriteTimeout = 100000;
httpWebRequest.ContentType = "application/json";
httpWebRequest.Accept = "application/json";
httpWebRequest.Method = "POST";
httpWebRequest.UserAgent = "GivenUserAgent";
httpWebRequest.Credentials = new NetworkCredential("Authorization", authorization);
请帮忙?
最佳答案
您应该将授权放在 header 中,这样:
httpWebRequest.Headers["Authorization"] = "Bearer " + apikey;
根据您联系的服务器,您必须确定输入。在我的例子中,Bearer 应该放在 apikey 之前。 由于大多数服务器使用以下设置进行授权:
Authorization: <type> <credentials>
关于c# - 如何通过 HttpWebRequest 传递 API_KEY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40402782/