[问题] https post无法把值post出去

楼主: Federer5566 (费德勒5566)   2019-07-25 12:04:48
原本使用的网页jquery如下,可以把msg=$("#content").val() 给POST到远端API
$("button").click(function(){
$.post("API网址",{msg:$("#content").val(),},
function(e){
console.log(e);
});
});
想要改写成C#之后多些弹性
但POST出去的内容,API一直回应说抓不到msg的值
string param = "msg=我要传的讯息";
byte[] bs = Encoding.UTF8.GetBytes(param);
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("API网址");
req.Method = "POST";
req.ContentType = "application/json";
req.ContentLength = bs.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(bs, 0, bs.Length);
}
不晓得哪边出了问题,搞了两天还搞不定
原本想说折衷一下干脆改用shellwindows去控制网页传值
但好死不死这网页只能在chrome和edge运作,换成IE就一样post不到
偏偏VS又只支援IE的control,快疯了...-.-
作者: Litfal (Litfal)   2019-07-25 12:43:00
建议改用HttpClient, 还有.net也有chrome核心的webkit能用
作者: satanbaby (撒旦北鼻)   2019-07-26 08:30:00
要看wireshark 我才是你msg没有JSON.stringify
作者: Litfal (Litfal)   2019-07-26 10:16:00
对啊你ContentType和实际送的不同啊,你的格式是formdataContentType要改成application/x-www-form-urlencoded吧
作者: mepowerlmay (用心,找对人)   2019-07-29 00:51:00
有https的网页吗连接可以参考?我帮你测看看
作者: vi000246 (Vi)   2019-08-01 23:00:00
应该不是json而是form喔 你要开F12看看
楼主: Federer5566 (费德勒5566)   2019-08-07 20:17:00
感谢上面各位,ContentType的确不是json,修正后就ok了

Links booklink

Contact Us: admin [ a t ] ucptt.com