我有这个使用 curl 的旧代码:
writer.WriteLine("curl.exe -s -X POST --cookie-jar " & My.Settings.curlPath & " -F ""username=webterm"" -F ""pwd=webterm"" http://" & My.Settings.ipCCN & "/goform/UserLogin")
writer.WriteLine("curl.exe -s --cookie " & My.Settings.curlPath & " --cookie-jar " & My.Settings.curlPath & " -F 'secondi=" & My.Settings.secondi & "' -F 'decimi=" & My.Settings.decimi & "' -F 'outputNumber=" & My.Settings.digout & "' http://" & My.Settings.ipCCN & "/goform/con_SetOutput")
其中:curlPath是digout/secondi/decimi的可执行路径 我必须传递的整数值 inputipCCN 是要调用的 ip 地址
我需要使用带 POST 的 http 客户端进行相同的调用,我该怎么做?
我有这个功能作为初始示例,我想根据需要进行编辑:
Public Async Function faiChiamataAPI(requestUri As String) As Task(Of String)
Using client As New HttpClient()
Dim URI As Uri = New Uri(requestUri)
Dim auth = Encoding.ASCII.GetBytes(String.Format("{0}:{1}", My.Settings.user, My.Settings.password))
client.DefaultRequestHeaders.Authorization = New Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(auth))
Dim response = Await client.GetAsync(URI)
Dim content = response.Content
Return Await content.ReadAsStringAsync()
End Using
End Function
我不需要从调用的 ip 读取任何答案,它是一个必须执行由我的 http 请求触发的内部功能的设备。