如何从 C# 客户端发送补丁请求?
How do you send a patch request from a c# client?
我有一个执行此操作的 powershell 脚本:
$uri = "$($tfsUri)/$($teamproject)/_apis/build/builds/$($buildID)?api-version=2.0"
$data = @{keepForever = $keepForever} | ConvertTo-Json
$response = $webclient.UploadString($uri,"PATCH", $data)
我正在尝试使用 Webclient 在 C# 中重写它。
WebClient client = new WebClient();
client.Encoding = System.Text.Encoding.UTF8;
string reply = client.UploadString(url, "keepForever = true");
Console.WriteLine(reply);
但我得到:远程服务器返回错误:(401) 未经授权。
这是 TFS 2015 VNext,如果有帮助的话。
您在调用 UploadString 时缺少方法。
string reply = client.UploadString(url, "keepForever = true");
应该是:
string reply = client.UploadString(url, "PATCH", "keepForever = true");
401 是未经授权的,因此还要查看在您登录或加入会话的 Powershell 中之前是否有一个步骤,您需要在 C# 中复制该步骤。
要发送 PATCH 请求,您可以使用 WebClient.UploadData
。
string data = "keepForever = true";
WebClient client = new WebClient();
client.Encoding = System.Text.Encoding.UTF8;
string reply = client.UploadData(url, "PATCH", System.Text.Encoding.UTF8.GetBytes(data));
Console.WriteLine(reply);
我有一个执行此操作的 powershell 脚本:
$uri = "$($tfsUri)/$($teamproject)/_apis/build/builds/$($buildID)?api-version=2.0"
$data = @{keepForever = $keepForever} | ConvertTo-Json
$response = $webclient.UploadString($uri,"PATCH", $data)
我正在尝试使用 Webclient 在 C# 中重写它。
WebClient client = new WebClient();
client.Encoding = System.Text.Encoding.UTF8;
string reply = client.UploadString(url, "keepForever = true");
Console.WriteLine(reply);
但我得到:远程服务器返回错误:(401) 未经授权。
这是 TFS 2015 VNext,如果有帮助的话。
您在调用 UploadString 时缺少方法。
string reply = client.UploadString(url, "keepForever = true");
应该是:
string reply = client.UploadString(url, "PATCH", "keepForever = true");
401 是未经授权的,因此还要查看在您登录或加入会话的 Powershell 中之前是否有一个步骤,您需要在 C# 中复制该步骤。
要发送 PATCH 请求,您可以使用 WebClient.UploadData
。
string data = "keepForever = true";
WebClient client = new WebClient();
client.Encoding = System.Text.Encoding.UTF8;
string reply = client.UploadData(url, "PATCH", System.Text.Encoding.UTF8.GetBytes(data));
Console.WriteLine(reply);