PowerShell
PowerShell
Keeping Query Params in a Hashtable
Demonstrates how to use a Chilkat Hashtable to hold query params and re-emit as a query param string.Note: The ToQueryString method was added in Chilkat v9.5.0.92.
Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
$ht = New-Object Chilkat.Hashtable
# Add name/value pairs from an existing query param string where the values are already URL encoded.
$qp = "txt=this%20is%20a%20test&color=blue&fruits=apples%26oranges"
$success = $ht.AddQueryParams($qp)
# Add some additional name/value pairs.
$ht.AddStr("name","Jack Sparrow")
$ht.AddStr("movie","Pirates of the Carribean")
# Iterate over the hash table to show what we have..
$keys = New-Object Chilkat.StringTable
$ht.GetKeys($keys)
$numKeys = $keys.Count
$i = 0
while ($i -lt $numKeys) {
$key = $keys.StringAt($i)
$val = $ht.LookupStr($key)
$($key + " = " + $val)
$i = $i + 1
}
# Output for the above loop:
# color = blue
# name = Jack Sparrow
# fruits = apples&oranges
# txt = this is a test
# movie = Pirates of the Carribean
# Get all name/value pairs as a query parm string with values URL encoded
$qp = $ht.ToQueryString()
$($qp)
# Result:
# color=blue&name=Jack%20Sparrow&fruits=apples%26oranges&txt=this%20is%20a%20test&movie=Pirates%20of%20the%20Carribean