[問題] 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