2017-06-14 119 views
-1

我正在编写我的第一个程序,除了运行一个HTTP Post命令来告诉我们的票务系统“嘿,这里有一个新的扫描文件可以查看”以外,其它所有工作都正常。该应用程序基本上说选择您的扫描结果文件,输入您的用户ID和上传文件。根据所提供的ID,所有工作和文件都会在正确的客户端上传到我们的系统。Visual Studio 2017 - WIndows Forms - HTTP Post

我需要一个HTTP post部分添加到我的代码,提供了以下信息:

POST /v4_6_release/apis/3.0/service/tickets HTTP/1.1 
Host: login.mycompany.com 
Authorization: Basic changedforthispost== 
Content-Type: application/json 
Cache-Control: no-cache 
Postman-Token: changedforthispost 




{ 
    "summary":"A results summary has been uploaded", 
    "company": { "id": 2 } 
} 

我怎样才能做到这一点?

谢谢你的时间!

+0

这是什么层次和技术; Web前端(mvc/asp),服务器后端(mvc,控制台,windows服务)?如果它是后端,那么你可能想看看[HttpClient](https://msdn.microsoft.com/en-us/library/system.net.http.httpclient(v = vs.118).aspx? cs-save-lang = 1&cs-lang = vb#code-snippet-1) – AWinkle

+0

因此,我的应用程序只是一个窗体应用程序,其中包含一些VB代码。该帖子将要使用的服务器是ConnectWise票务系统。我不太确定他们在这方面的用途。 –

回答

0

像这样的东西应该工作。

Dim client As HttpClient = New HttpClient() 
    Dim request As New HttpRequestMessage With { 
     .RequestUri = New Uri("v4_6_release/apis/3.0/service/tickets"), 
     .Method = HttpMethod.Post 
    } 
    request.Headers.Authorization = New Headers.AuthenticationHeaderValue("basic", "changedforthispost==") 
    request.Content = New StringContent("{""summary"":""A results summary has been uploaded"", ""company"": {""id"": 2 }}", Encoding.UTF8, "application/json") 
    Dim result As HttpResponseMessage = client.SendAsync(request).GetAwaiter().GetResult() 

构造一个HttpClient的,设置授权头,然后将内容(你可能需要使用Json.Net创建它)。

+0

谢谢您的输入...那么postman-token呢? –

+0

我的猜测是'postman-token'来自一个称为[postman](https://www.getpostman.com/)的工具,并且不需要。 – AWinkle