I have been trying a way to add the Http Version as 1.0 in Powershell to my HttpClient Object.
function Post-JSONData
{
Param
(
[Parameter(Mandatory=$True)] [String] $JSONPayload,
[Parameter(Mandatory=$True)] [String] $ObjectClass,
[Parameter(Mandatory=$True)] [String] $APIUrl,
[Parameter(Mandatory=$False)] [String] $ProxyUrl
)
#Try{
If($JSONPayload.StartsWith("[") -eq $false -and $JSONPayload.EndsWith("]") -eq $false)
{ $JSONPayload = "[" + $JSONPayload + "]" }
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;
Add-Type -AssemblyName System.Net.Http
$WebHandler = New-Object System.Net.Http.HttpClientHandler
$WebHandler.AllowAutoRedirect = $false;
If($ProxyUrl)
{
$WebProxy = New-Object System.Net.WebProxy($ProxyUrl)
$WebHandler.Proxy = $WebProxy
}
$HttpClient = New-Object System.Net.Http.HttpClient($WebHandler)
**$HttpClient.DefaultRequestVersion = [System.Net.HttpVersion]::Version10**
$HttpClient.DefaultRequestHeaders.Add("Accept","*/*");
$HttpClient.DefaultRequestHeaders.Add("Cache-Control", "no-cache");
$HttpClient.DefaultRequestHeaders.Add("Connection","keep-alive");
$HttpClient.DefaultRequestHeaders.Add("Class",$ObjectClass);
$HttpClient.Timeout = New-Object System.TimeSpan(0, 0, 90);
$HttpJSONPayload = New-Object System.Net.Http.StringContent($JSONPayload.ToString(), [System.Text.Encoding]::UTF8, "application/json")
$HttpJSONPayload.Headers.ContentEncoding.Add("gzip")
$HttpJSONPayload.Headers.ContentEncoding.Add("deflate")
$HttpJSONPayload.Headers.ContentEncoding.Add("br")
$ResponsePayload = $HttpClient.PostAsync([Uri] $APIUrl,$HttpJSONPayload)
I am able to add the DefaultRequestHeader Parameters but I believe there is some issue with the format for DefaultRequestVersion.
I am unable to find documentation online either for the same.
Update: I am using Powershell V4.0 so $HttpClient.DefaultRequestVersion = [System.Net.HttpVersion]::Version10 is giving the following error:
The property 'DefaultRequestVersion' cannot be found on this object. Verify that the property exists and can be set.