【发布时间】:2021-09-25 12:35:24
【问题描述】:
我正在尝试使用 vba 发布到 web api。问题是web api中的参数是空白的。 web api是用asp编写的。我从 c# 调用了 api,它可以工作,但我无法在 vba 中工作。
这是对 api 的 vba 调用:
Sub Test()
Dim http As New MSXML2.XMLHTTP60
http.Open "POST", "http://10.5.72.172:108/api/vbaemail", True
http.SetRequestHeader "Content-type", "application/json"
Call http.send("abc")
End Sub
这是我的简单网络 API。
public void Post([FromBody] string strJson)
{
SqlConnection cnnCom = null;
SqlCommand cmdCom = null;
string strSql = null;
//write parameter to table
cnnCom = new SqlConnection(CF.Get_Connection_String(CF.DatabaseName.COMMON));
cnnCom.Open();
strSql =
"INSERT INTO Test( " +
"F1) " +
"VALUES( " +
"'" + strJson + "')";
cmdCom = new SqlCommand(strSql, cnnCom);
cmdCom.ExecuteNonQuery();
cnnCom.Dispose();
}
这是对 web api 的有效 c# 调用:
static void Main(string[] args)
{
HttpClient hc = new HttpClient();
Task<HttpResponseMessage> task1 = null;
//call web api
task1 = hc.PostAsJsonAsync<string>
("http://10.5.72.172:108/api/vbaemail", "abc");
}
【问题讨论】:
-
我在那个链接上看不到任何 vba 代码
-
你怎么看不到任何vb代码?你能在这里检查一次吗gist.githubusercontent.com/six519/5ed917850f402b94ee6b/raw/…
-
这能回答你的问题吗? Pass Parameters in VBA HTTP Post Request
-
那是 vb.net 不是 vba。
标签: c# vba asp.net-web-api