Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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#使用身份验证头发布JSON_C#_Json_Post - Fatal编程技术网

C#使用身份验证头发布JSON

C#使用身份验证头发布JSON,c#,json,post,C#,Json,Post,我对带有身份验证/授权的post JSON有问题。。下面是我的代码。。对手说他们没有接到头球…我不知道为什么 ASCIIEncoding encoding = new ASCIIEncoding(); byte[] data = encoding.GetBytes(stringData); HttpWebRequest req = (HttpWebRequest)WebRequest.Create(serverURL); req.Method = "POST"; req.Con

我对带有身份验证/授权的post JSON有问题。。下面是我的代码。。对手说他们没有接到头球…我不知道为什么

ASCIIEncoding encoding = new ASCIIEncoding();
byte[] data = encoding.GetBytes(stringData);

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(serverURL);
req.Method         = "POST";
req.ContentType    = "application/json";
req.ContentLength  = data.Length;
req.Headers.Add("Authentication", merchantID);
req.Headers["Authentication"] = merchantID;

Stream newStream = req.GetRequestStream();
newStream.Write(data, 0, data.Length);
newStream.Close();

HttpWebResponse response = (HttpWebResponse)req.GetResponse();
string returnString = response.StatusCode.ToString();

我正在编写一些示例代码,以便在您调用服务时附加头。。。 希望它是必要的…

ascienceoding encoding=新的ascienceoding(); 字节[]数据=encoding.GetBytes(stringData)


我不能肯定地说问题出在哪里。它甚至可以在服务器端。 最近,我在一个带有头身份验证的项目中工作,我注意到了一件有趣的事情。我的PHP服务器收到了这些带有“HTTP_”前缀的头文件

换言之,我提出了如下要求:

req.Headers.Add("Authentication", merchantID);
并通过以下方式在服务器上接收:

echo $_SERVER['HTTP_Authentication'];
我花了很多时间才弄明白。 事实上,你可以问你的对手是否有类似的头球出现,或者让他更好地检查你的请求并给你反馈

同样,尝试使用
WebClient
。也许会有帮助。
此外,它更方便

string data = "{\"a\": \"b\"}";

WebClient client = new WebClient();

client.Headers.Add("Content-Type", "application/json");
client.Headers.Add("Authentication", merchantID);

var result = client.UploadString(serverURL, "POST", data);

Add(LoginName,LoginName)
Add(AuthenticationKey,AuthenticationKey)
等看起来有误。缺少枚举名称?EnumCollection.ServiceRequestHeader.AuthenticationKey.ToString(),
string data = "{\"a\": \"b\"}";

WebClient client = new WebClient();

client.Headers.Add("Content-Type", "application/json");
client.Headers.Add("Authentication", merchantID);

var result = client.UploadString(serverURL, "POST", data);