本文整理汇总了C#中HttpClient.Post方法的典型用法代码示例。如果您正苦于以下问题:C# HttpClient.Post方法的具体用法?C# HttpClient.Post怎么用?C# HttpClient.Post使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HttpClient
的用法示例。
在下文中一共展示了HttpClient.Post方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GenerateTokenTest
public void GenerateTokenTest()
{
_generateTokenRequestUrl = string.Format("{0}/{1}/GenerateToken", BaseUrl, SessionServiceUrl);
try
{
var client = new HttpClient(_generateTokenRequestUrl, ContentType.Xml);
Assert.IsNotNull(client, "Client Initialization Failed");
var response = client.Post<GenerateTokenRequest, GenerateTokenResponse>(new GenerateTokenRequest());
}
catch (Exception ex)
{
Assert.Fail(ex.Message);
}
}
示例2: WhenCallingPostWithInvalidUrlShouldReturnPermanentError
public void WhenCallingPostWithInvalidUrlShouldReturnPermanentError()
{
var networkInterface = new NetworkInterface();
networkInterface.CurrentIpAddress = new IPAddress(42);
NetworkInterface.NetworkInterfaces = new INetworkInterface[] { networkInterface };
var httpClient = new HttpClient(null);
var message = new Message(new Uri("http://httpbin.org/post2"), "{ \"lat\":51.527516, \"lng\":-0.715806, \"utc\":1362065860 }");
message.Headers.Add("content-type", "application/json");
message.Headers.Add("param1", "Value1");
message.Headers.Add("param2", "Value2");
message.Headers.Add("param3", "Value3");
var result = httpClient.Post(message);
Assert.Equal(Result.PermanentError, result);
}
示例3: WhenCallingPostWithVaidUrlShouldSucceedUsingHttpsAndAcceptAllPolicy
public void WhenCallingPostWithVaidUrlShouldSucceedUsingHttpsAndAcceptAllPolicy()
{
var networkInterface = new NetworkInterface();
networkInterface.CurrentIpAddress = new IPAddress(42);
NetworkInterface.NetworkInterfaces = new INetworkInterface[] { networkInterface };
var httpClient = new HttpClient(new AcceptAllCertificatePolicy());
var message = new Message(new Uri("https://httpbin.org/post"), "{ \"lat\":51.527516, \"lng\":-0.715806, \"utc\":1362065860 }");
message.Headers.Add("content-type", "application/json");
message.Headers.Add("param1", "Value1");
message.Headers.Add("param2", "Value2");
message.Headers.Add("param3", "Value3");
var result = httpClient.Post(message);
Assert.Equal(Result.Ok, result);
}
示例4: GetReservationListingTest
public void GetReservationListingTest()
{
_getReservationListingRequestUrl =
string.Format("{0}/get/AirlinesAdminService.svc/getreservationlisting?sessionId={1}", BaseUrl,
SessionId);
try
{
var client = new HttpClient(_getReservationListingRequestUrl, ContentType.Xml);
Assert.IsNotNull(client, "Client Initialization Failed");
var response = client.Post<RequestParams, ReservationListingResponse>(new RequestParams());
}
catch (Exception ex)
{
Assert.Fail(ex.Message);
}
}
示例5: AddRequestSessionDataTest
public void AddRequestSessionDataTest()
{
_addRequestSessionDataRequestUrl =
string.Format("{0}/{1}/addrequestsessiondata?session={2}", BaseUrl, SessionServiceUrl,
SessionId);
try
{
var client = new HttpClient(_addRequestSessionDataRequestUrl, ContentType.Xml);
Assert.IsNotNull(client, "Client Initialization Failed");
var response = client.Post<Request, string>(new Request());
}
catch (Exception ex)
{
Assert.Fail(ex.Message);
}
}
示例6: BeginSearchTest
public void BeginSearchTest()
{
_beginSearchRequestUrl =
string.Format("{0}/{1}/beginsearch?session={2}", BaseUrl, SessionServiceUrl,
SessionId);
try
{
var client = new HttpClient(_beginSearchRequestUrl, ContentType.Xml);
Assert.IsNotNull(client, "Client Initialization Failed");
var response = client.Post<Request, SearchResponse>(new Request());
}
catch (Exception ex)
{
Assert.Fail(ex.Message);
}
}
示例7: SaveTravellerTest
public void SaveTravellerTest()
{
_saveTravellerRequestUrl =
string.Format("{0}/{1}/SaveTraveller/1?session={2}", BaseUrl, LoginServiceUrl,
SessionId);
try
{
var client = new HttpClient(_saveTravellerRequestUrl, ContentType.Xml);
Assert.IsNotNull(client, "Client Initialization Failed");
var response = client.Post<Traveller, SaveTravellerRs>(new Traveller());
}
catch (Exception ex)
{
Assert.Fail(ex.Message);
}
}
示例8: ChangePersonalInfoTest
public void ChangePersonalInfoTest()
{
_changePersonalInfoRequestUrl =
string.Format("{0}/{1}/ChangePersonalInfo/0?session={2}", BaseUrl, LoginServiceUrl,
SessionId);
try
{
var client = new HttpClient(_changePersonalInfoRequestUrl, ContentType.Xml);
Assert.IsNotNull(client, "Client Initialization Failed");
var response = client.Post<Account, ChangePersonalInfoResponse>(new Account());
}
catch (Exception ex)
{
Assert.Fail(ex.Message);
}
}
示例9: WhenCallingPostAndConnectionIsNotGPRSAndBlackoutShouldReturnBlackout
public void WhenCallingPostAndConnectionIsNotGPRSAndBlackoutShouldReturnBlackout()
{
var networkInterface = new NetworkInterface();
networkInterface.CurrentIpAddress = new IPAddress(42);
networkInterface.Name = "wifi";
var from = new Time();
var to = new Time(from.MinuteOfDay + 1);
this.Preferences.SetCellularDataBlackout(new TimeRange(from, to));
NetworkInterface.NetworkInterfaces = new INetworkInterface[] { networkInterface };
var httpClient = new HttpClient(new AcceptAllCertificatePolicy());
var message = new Message(new Uri("https://httpbin.org/post"), "{ \"lat\":51.527516, \"lng\":-0.715806, \"utc\":1362065860 }");
message.Headers.Add("content-type", "application/json");
message.Headers.Add("param1", "Value1");
message.Headers.Add("param2", "Value2");
message.Headers.Add("param3", "Value3");
var result = httpClient.Post(message);
Assert.Equal(Result.Ok, result);
}
示例10: SendMessage
public void SendMessage(string to, string message)
{
try
{
string from = Context.Request.QueryString["userName"];
string connectionId = UserDataBase.GetUserConnectionId(to);
ChatMessage chatMessage = new ChatMessage()
{
From = from,
To = to,
Message = message,
IsSeen = false,
TimeStamp = string.Format("{0:s}", DateTime.Now)
};
string url = string.Format("{0}/get/AccountService.svc/SaveMessage", Configs.BaseSiteUrl);
HttpClient client = new HttpClient(url, ContentType.Json);
SaveMessageRs response =
client.Post<SaveMessageRq, SaveMessageRs>(new SaveMessageRq() {Message = chatMessage});
chatMessage.Id = response.MessageId;
if (!string.IsNullOrEmpty(connectionId))
{
Clients.Client(connectionId).RenderMessage(from, chatMessage);
}
Clients.Client(Context.ConnectionId).RenderMessage(to, chatMessage);
// Send message to sender also as confirmation.
}
catch (Exception ex) { }
}
示例11: SendMessageStatus
public void SendMessageStatus(string to, List<string> messageIds)
{
try
{
string from = Context.Request.QueryString["userName"];
string connectionId = UserDataBase.GetUserConnectionId(to);
if (!string.IsNullOrEmpty(connectionId))
{
Clients.Client(connectionId).RenderMessageStatus(from, messageIds);
}
string url = string.Format("{0}/get/AccountService.svc/SaveMessageStatus", Configs.BaseSiteUrl);
HttpClient client = new HttpClient(url, ContentType.Json);
UpdateMessageStatusRs response =
client.Post<UpdateMessageStatusRq, UpdateMessageStatusRs>(new UpdateMessageStatusRq()
{
MessageIds = messageIds
});
}
catch (Exception ex) { }
}
示例12: Main
static void Main(string[] args)
{
//This string contains the base collection URI, which is settable in configuration.
string uriString = System.Configuration.ConfigurationManager.AppSettings["collectionUri"];
Uri collectionUri = new Uri( uriString );
Uri requestUri;
Message response;
Customer aCustomer;
//We pass false to the constructor of HttpClient in order to
//disable HTTP connection reuse. In a production application
//KeepAlive would normally be enabled for performance reasons.
//However, HTTP KeepAlive breaks wire-level HTTP tracing tools
//such as Microsoft Fiddler (http://www.fiddlertool.com). Since
//it may be instructive to view the output of this sample in
//such a tool, we disable KeepAlive here.
HttpClient client = new HttpClient( collectionUri, false );
//Get Customer 1 by doing an HTTP GET to the customer's URI
requestUri = new Uri( collectionUri, "1" );
Console.WriteLine( "GET " + requestUri );
response = client.Get( requestUri );
Console.WriteLine( (int) client.GetStatusCode( response ) + " " + client.GetStatusDescription( response ) );
aCustomer = response.GetBody<Customer>();
Console.WriteLine( aCustomer.ToString() );
Console.WriteLine( "" );
//Use PUT to update the customer's name.
aCustomer.Name = "Robert";
Console.WriteLine( "PUT " + requestUri );
Console.WriteLine( aCustomer.ToString() );
response = client.Put( requestUri, aCustomer );
Console.WriteLine( (int) client.GetStatusCode( response ) + " " + client.GetStatusDescription( response ) );
Console.WriteLine("");
//Get Customer 1 again to show that the server's state has changed
requestUri = new Uri( collectionUri, "1" );
Console.WriteLine( "GET " + requestUri );
response = client.Get( requestUri );
Console.WriteLine( (int) client.GetStatusCode( response ) + " " + client.GetStatusDescription( response ) );
aCustomer = response.GetBody<Customer>();
Console.WriteLine( aCustomer.ToString() );
Console.WriteLine( "" );
//Use HTTP POST to add a customer to the collection
requestUri = collectionUri;
aCustomer = new Customer();
aCustomer.Name = "Alice";
aCustomer.Address = "2323 Lake Shore Drive";
Console.WriteLine( "POST " + requestUri );
Console.WriteLine( aCustomer.ToString() );
response = client.Post( requestUri, aCustomer );
Console.WriteLine( (int) client.GetStatusCode( response ) + " " + client.GetStatusDescription( response ) );
//This customer is now addressable on the server the URI that came back
//in the HTTP Location header
Uri location = client.GetLocation( response );
Console.WriteLine( "Location: " + location );
Console.WriteLine("");
//Add another customer in the same way
aCustomer = new Customer();
aCustomer.Name = "Charlie";
aCustomer.Address = "123 Fourth Street";
Console.WriteLine( "POST " + requestUri );
Console.WriteLine( aCustomer.ToString() );
response = client.Post( requestUri, aCustomer );
Console.WriteLine( (int) client.GetStatusCode( response ) + " " + client.GetStatusDescription( response ) );
location = client.GetLocation( response );
Console.WriteLine( "Location: " + location );
Console.WriteLine("");
//Delete customer 1
requestUri = new Uri( collectionUri, "1" );
Console.WriteLine( "DELETE " + requestUri );
response = client.Delete( requestUri );
Console.WriteLine( (int) client.GetStatusCode( response ) + " " + client.GetStatusDescription( response ) );
Console.WriteLine( "" );
//Once a customer's deleted, GET's to the customer's URI
//will result in EndpointNotFound exceptions.
requestUri = new Uri( collectionUri, "1" );
Console.WriteLine( "GET " + requestUri );
try
{
response = client.Get( requestUri );
Console.WriteLine( (int) client.GetStatusCode( response ) + " " + client.GetStatusDescription( response ) );
}
catch( EndpointNotFoundException )
{
Console.WriteLine( "Endpoint not found" );
//.........这里部分代码省略.........
示例13: WhenCallingPostWithInvalidUrlAndNoNetworkShouldReturnNotConnected
public void WhenCallingPostWithInvalidUrlAndNoNetworkShouldReturnNotConnected()
{
var httpClient = new HttpClient(null);
var message = new Message(new Uri("http://httpbin.org/post2"), "{ \"lat\":51.527516, \"lng\":-0.715806, \"utc\":1362065860 }");
message.Headers.Add("content-type", "application/json");
message.Headers.Add("param1", "Value1");
message.Headers.Add("param2", "Value2");
message.Headers.Add("param3", "Value3");
var result = httpClient.Post(message);
Assert.Equal(Result.NotConnected, result);
}