c# webapi winform
时间: 2023-10-02 20:10:56 浏览: 53
在使用C# WinForm中调用Web API时,你可以使用WebClient和HttpWebRequest类。首先,使用WebClient类的UploadString()方法发送POST请求。你需要初始化一个WebClient对象,然后设置其Headers的Content-Type为"application/json;charset=utf-8",最后调用UploadString()方法传入URL、"POST"和发送的数据(json格式的字符串)。以下是一个示例代码:
```csharp
public string RequestWebAPI(string sendData, string url) {
try {
string backMsg = "";
WebClient client = new WebClient();
client.Headers.Add("Content-Type", "application/json;charset=utf-8");
backMsg = client.UploadString(url, "POST", sendData);
return backMsg;
} catch (Exception ex) {
return ex.Message;
}
}
```
另一种方法是使用HttpWebRequest类。在使用HttpWebRequest调用Web API的程序中,你可能会遇到读取返回值乱码的问题。经过不断测试,发现不管使用什么编码(如GBK、GB2312、Unicode),结果都是一样的乱码。这可能不是编码的问题。你可以尝试在调试中观察在`HttpWebResponse response = (HttpWebResponse)httpRquest.GetResponse();`这一步骤中的响应流是否存在问题。