Skip to content

Instantly share code, notes, and snippets.

@lalinsky
Last active December 14, 2015 21:39
Show Gist options
  • Save lalinsky/5152629 to your computer and use it in GitHub Desktop.
Save lalinsky/5152629 to your computer and use it in GitHub Desktop.
AcoustID Compressed Request in VB.NET
Module AcoustIDTest
Sub Main()
Dim clientApiKey As String = "8XaBELgH"
Dim duration As Integer = 641
Dim fingerprint As String = "AQABz0qUkZK4oOfhL-CPc4e5C_wW2H2QH9uDL4cvoT8UNQ-eHtsE8cceeFJx-LiiHT-aPzhxoc-Opj_eI5d2hOFyMJRzfDk-QSsu7fBxqZDMHcfxPfDIoPWxv9C1o3yg44d_3Df2GJaUQeeR-cb2HfaPNsdxHj2PJnpwPMN3aPcEMzd-_MeB_Ej4D_CLP8ghHjkJv_jh_UDuQ8xnILwunPg6hF2R8HgzvLhxHVYP_ziJX0eKPnIE1UePMByDJyg7wz_6yELsB8n4oDmDa0Gv40hf6D3CE3_wH6HFaxCPUD9-hNeF5MfWEP3SCGym4-SxnXiGs0mRjEXD6fgl4LmKWrSChzzC33ge9PB3otyJMk-IVC6R8MTNwD9qKQ_CC8kPv4THzEGZS8GPI3x0iGVUxC1hRSizC5VzoamYDi-uR7iKPhGSI82PkiWeB_eHijvsaIWfBCWH5AjjCfVxZ1TQ3CvCTclGnEMfHbnZFA8pjD6KXwd__Cn-Y8e_I9cq6CR-4S9KLXqQcsxxoWh3eMxiHI6TIzyPv0M43YHz4yte-Cv-4D16Hv9F9C9SPUdyGtZRHV-OHEeeGD--BKcjVLOK_NCDXMfx44dzHEiOZ0Z44Rf6DH5R3uiPj4d_PKolJNyRJzyu4_CTD2WOvzjKH9GPb4cUP1Av9EuQd8fGCFee4JlRHi18xQh96NLxkCgfWFKOH6WGeoe4I3za4c5hTscTPEZTES1x8kE-9MQPjT8a8gh5fPgQZtqCFj9MDvp6fDx6NCd07bjx7MLR9AhtnFnQ70GjOcV0opmm4zpY3SOa7HiwdTtyHa6NC4e-HN-OfC5-OP_gLe2QDxfUCz_0w9l65HiPAz9-IaGOUA7-4MZ5CWFOlIfe4yUa6AiZGxf6w0fFxsjTOdC6Itbh4mGD63iPH9-RFy909XAMj7mC5_BvlDyO6kGTZKJxHUd4NDwuZUffw_5RMsde5CWkJAgXnDReNEaP6DTOQ65yaD88HoeX8fge-DSeHo9Qa8cTHc80I-_RoHxx_UHeBxrJw62Q34Kd7MEfpCcu6BLeB1ePw6OO4sOF_sHhmB504WWDZiEu8sKPpkcfCT9xfej0o0lr4T5yNJeOvjmu40w-TDmqHXmYgfFhFy_M7tD1o0cO_B2ms2j-ACEEQgQgAIwzTgAGmBIKIImNQAABwgQATAlhDGCCEIGIIM4BaBgwQBogEBIOESEIA8ARI5xAhxEFmAGAMCKAURKQQpQzRAAkCCBQEAKkQYIYIQQxCixCDADCABMAE0gpJIgyxhEDiCKCCIGAEIgJIQByAhFgGACCACMRQEyBAoxQiHiCBCFOECQFAIgAABR2QAgFjCDMA0AUMIoAIMChQghChASGEGeYEAIAIhgBSErnJPPEGWYAMgw05AhiiGHiBBBGGSCQcQgwRYJwhDDhgCSCSSEIQYwILoyAjAIigBFEUQK8gAYAQ5BCAAjkjCCAEEMZAUQAZQCjCCkpCgFMCCiIcVIAZZgilAQAiSHQECOcQAQIc4QClAHAjDDGkAGAMUoBgyhihgEChFCAAWEIEYwIJYwViAAlHCBIGEIEAEIQAoBwwgwiEBAEEEOoEwBY4wRwxAhBgAcKAESIQAwwIowRFhoBhAE"
Dim uri As New Uri("http://api.acoustid.org/v2/lookup")
Dim data As New Text.StringBuilder()
data.Append("format=xml")
data.Append("&meta=recordings+releasegroups+compress")
data.Append("&client=").Append(clientApiKey)
data.Append("&duration=").Append(duration)
data.Append("&fingerprint=").Append(fingerprint)
Dim request As Net.HttpWebRequest = CType(Net.WebRequest.Create(uri), Net.HttpWebRequest)
request.Method = "POST"
request.Timeout = 10000 'Milliseconds
request.ContentType = "application/x-www-form-urlencoded"
request.AutomaticDecompression = Net.DecompressionMethods.Deflate Or Net.DecompressionMethods.GZip
request.Headers.Add("Content-Encoding: gzip")
Using memoryStream As IO.MemoryStream = New IO.MemoryStream()
Using gzipStream As IO.Compression.GZipStream = New IO.Compression.GZipStream(memoryStream, IO.Compression.CompressionMode.Compress, True)
Dim encodedData As Byte() = Text.UTF8Encoding.UTF8.GetBytes(data.ToString())
gzipStream.Write(encodedData, 0, encodedData.Length)
End Using
memoryStream.Position = 0
request.ContentLength = memoryStream.Length
Using requestStream As IO.Stream = request.GetRequestStream()
memoryStream.CopyTo(requestStream)
End Using
End Using
Using response As Net.WebResponse = request.GetResponse()
Using responseStream As IO.Stream = response.GetResponseStream()
Using reader As IO.StreamReader = New IO.StreamReader(responseStream, Text.UTF8Encoding.UTF8)
Dim xml As String = reader.ReadToEnd()
Console.WriteLine(xml)
Console.ReadKey()
End Using
End Using
End Using
End Sub
End Module
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment