相关疑难解决方法(0)

使用HttpClient从Web API发布JsonObject

我正在尝试从Web API发布一个JsonObject使用HttpClient.我不太确定如何解决这个问题,并且在示例代码方面找不到多少内容.

这是我到目前为止所拥有的:

var myObject = (dynamic)new JsonObject();
myObject.Data = "some data";
myObject.Data2 = "some more data";

HttpClient httpClient = new HttpClient("myurl");
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

HttpResponseMessage response = httpClient.Post("", ???);
Run Code Online (Sandbox Code Playgroud)

我想我需要把我JsonObject当成一个StreamContent但是我已经挂了这一步.

c# asp.net wcf wcf-web-api asp.net-web-api

259
推荐指数
5
解决办法
29万
查看次数

C#HttpClient 4.5 multipart/form-data上传

有没有人知道如何使用HttpClient.Net 4.5 multipart/form-data上传?

我在互联网上找不到任何例子.

c# upload multipartform-data .net-4.5 dotnet-httpclient

128
推荐指数
6
解决办法
16万
查看次数

StringContent 是否与 params(表单数据)相同?

我正在使用以下代码向服务器发布消息。

String credentials="email=me@here.com&pass=abc123";
using (HttpClient client = new HttpClient())
{
  HttpResponseMessage message = await client.PostAsync(
    url, new StringContent(credentials));
  result = await message.Content.ReadAsStringAsync();
}
Run Code Online (Sandbox Code Playgroud)

但是,服务器会回复一条错误消息,指出电子邮件或通行证不存在。

{\"状态\":\"错误\",\"消息\":\"缺少电子邮件或密码\"}

现在,我可以看到它在撒谎,但是可以做些什么呢?我是否没有提供凭据作为发布数据(相当于从 FF 中的 URL 行调用时可以看到的“参数”,如下图所示?

我还注意到,当我访问如下所示的RequestMessage 时,我得到了 URL,没有发送任何凭据。我错过了什么愚蠢的事情?!

result = message.RequestMessage.ToString();
Run Code Online (Sandbox Code Playgroud)

这个结果给了我以下字符串。

方法:POST,RequestUri:'https://server.com/gettoken',版本:1.1,内容:System.Net.Http.StringContent,标题:\u000d\u000a{\u000d\u000a 内容类型:text/plain ; 字符集=utf-8\u000d\u000a 内容长度:56\u000d\u000a}

在此处输入图片说明

c# post dotnet-httpclient

0
推荐指数
1
解决办法
3857
查看次数