Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.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
httpContent中的C#下划线_C#_Dotnet Httpclient - Fatal编程技术网

httpContent中的C#下划线

httpContent中的C#下划线,c#,dotnet-httpclient,C#,Dotnet Httpclient,Rally的APIKey以下划线开头。当我试图发布它时,我收到了“坏请求”。无法从API密钥中删除下划线,因为它是由Rally生成的,并且如果缺少下划线,Rally不会授权 var client = new HttpClient(); var pairs = new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("ArtifactUUID",

Rally的APIKey以下划线开头。当我试图发布它时,我收到了“坏请求”。无法从API密钥中删除下划线,因为它是由Rally生成的,并且如果缺少下划线,Rally不会授权

var client = new HttpClient();
var pairs = new List<KeyValuePair<string, string>>
    {
        new KeyValuePair<string, string>("ArtifactUUID", "ID1"),
        new KeyValuePair<string, string>("UserUUID", "ID2"),
        new KeyValuePair<string, string>("zuul_key",  "**APIKey begins with underscore**")
    };

var content = new FormUrlEncodedContent(pairs);
var response = client.PostAsync("https://rally1.rallydev.com/notifications/api/v2/watch", content).Result;
var-client=new-HttpClient();
var pairs=新列表
{
新的KeyValuePair(“ArtifactUUID”、“ID1”),
新的KeyValuePair(“UserUUID”、“ID2”),
新的KeyValuePair(“zuul_键”,“APIKey以下划线**开头”)
};
var内容=新FormUrlEncodedContent(成对);
var response=client.PostAsync(“https://rally1.rallydev.com/notifications/api/v2/watch“,内容)。结果;

您确定问题在下划线中吗?很可能,这只是对成功授权但构建不正确的请求的服务器响应。如果删除下划线,则返回的响应为“未经授权”。如果我添加下划线,我会得到“错误请求”的响应。所以我推断这个问题是由于下划线造成的。您应该传入原始密钥,还是以某种方式对其进行编码(例如base64)?只是一个想法。@AriRoth我还没想过,不过,让我试着同意@YeldarKurmangaliyev。我敢打赌你已经通过了身份验证,400响应是一个无关的问题。当您删除下划线时,您关于得到不同错误的逻辑是有缺陷的-您几乎肯定得到了未经授权的错误,因为您将密钥更改为无效密钥。