2017-06-14 89 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