C#使用身份验证头发布JSON
我对带有身份验证/授权的post 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
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);