編輯。建議小提琴手的人很棒。原來我張貼的API嚇壞了,因爲c#應用程序沒有用戶代理。因此,添加一個標頭固定它發佈與網絡客戶端返回400壞請求
我想用c#web客戶端發佈到api,但似乎是跑到牆上。我試圖用這個代碼發佈json到api,但是我得到的是400個不好的請求,我不知道發生了什麼。
output = "{ \"id\": \"xxxxxx\", \"company\": \"test\", \"fname\": \"test\", \"lname\": \"test\", \"member_level\": \"Member\",\"status\": \"active\"}";
using (var client = new WebClient())
{
client.Headers.Add("token", "validtoken");
client.Headers.Add("Content-Type", "application/json");
client.UploadString(new Uri("url"), "POST", output);
}
我能夠使用PowerShell成功發佈使用webrequest,所以我知道URL和身份驗證令牌是有效的。但無論出於何種原因,我無法讓c#正確發佈。這是正在運行的powershell命令
curl url -Method POST -H @{"token" = "token"} -ContentType "application/json" -Body '{ "id": "xxxxxx", "company": "test", "fname": "test", "lname": "test", "member_level": "test","status": "active"}'
安裝[fiddler](http://www.telerik.com/fiddler)並查看兩個HTTP請求。有什麼區別。 – Liam
適用於我的Fiddler - 確保「url」是一個真正的值,例如'code'http://127.0.0.1:8888'code' – Saltire
任何不使用HttpClient的理由? –