首页 > 解决方案 > C# HttpWebRequest 参数为空

问题描述

我正在努力使用带有参数的 POST Web 请求的语法。我得到了回复,但没有得到数据,我应该怀疑这是因为我没有正确传递参数。

如果我使用字符串“[100,200]”并将其发送过来并让 C# 编译器将字符串转换为 int[],这也很奇怪,这几乎就像没有发送数据一样。

api 方法如下所示:

public string GetPersonInfo(int64[] personsIds)

然后这是我的api请求(参数部分)

HttpWebRequest = (HttpWebRequest)HttpWebRequest.Create("MyApicall.com/api/Persons/GetPersonInfo");
int[] numArray = new int[]{100,200};
byte[] sendInfo = new byte[numArray.length * sizeof(int)];
Buffer.BlockCopy(numArray,0,sendInfo,sendInfo.length);

request.Headers["Accept-Languages"] = "en-Us";
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = sendInfo.length;

Stream curStream = request.GetRequestStream();
curStream.Write(sendInfo,0,sendInfo.length);
curStream.Close();

标签: c#apihttphttpwebrequest

解决方案


推荐阅读