本帖最后由 scent 于 2022-10-7 09:47 编辑
用Httphelper Post 数据,服务器返回失败,但是用原生的Post提交数据,一切正常,求帮助!
P.S. 用Postman提交数据时,必须选择Json ,否则一样报错。
请教一下,我的代码哪里设置不对?
Httphelper 代码
[C#] 纯文本查看 复制代码 HttpHelper http = new HttpHelper();
HttpItem item = new HttpItem()
{
URL = apiUrl,
Method = "post",
ContentType = "application/json",
Postdata = data,
PostEncoding = System.Text.Encoding.UTF8,
};
item.Header.Add(headkey, headvalue);
HttpResult result = http.GetHtml(item);
msg = result.Html;
if (result.StatusCode == System.Net.HttpStatusCode.OK)
{
return true;
}
else
{
return false;
}
原生代码
[C#] 纯文本查看 复制代码 public static bool GetPostedData(string Url, string JSONData, ref string content, string headvalue = "", string headkey = "access-token")
{
try
{
byte[] postBytes = Encoding.GetEncoding("utf-8").GetBytes(JSONData);
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(Url);
myRequest.Method = "POST";
myRequest.ContentType = "application/json";
myRequest.ContentLength = postBytes.Length;
myRequest.Proxy = null;
if (!string.IsNullOrEmpty(headvalue))
{
myRequest.Headers.Add(headkey, headvalue);
}
Stream newStream = myRequest.GetRequestStream();
newStream.Write(postBytes, 0, postBytes.Length);
newStream.Close();
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
using (StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.GetEncoding("utf-8")))
{
content = reader.ReadToEnd();
}
return true;
}
catch (Exception ex)
{
return false;
}
}
|