Curl command to html or vb.net

11,754

Solution 1

This is a rather large subject but at it's most simple you could try this...

Imports System.Net

and then...

Dim wHeader As WebHeaderCollection = New WebHeaderCollection()

wHeader.Clear()
wHeader.Add("Authorization: Bearer 0da6cf0d-848c-4266-9b47-cd32a6151b1f")
wHeader.Add("Assume-User: john.doe%40smartsheet.com")

Dim sUrl As String = "https://api.smartsheet.com/1.0/sheets"

Dim wRequest As HttpWebRequest = DirectCast(System.Net.HttpWebRequest.Create(sUrl), HttpWebRequest)

'wRequest.ContentType = "application/json" ' I don't know what your content type is
wRequest.Headers = wHeader
wRequest.Method = "GET"

Dim wResponse As HttpWebResponse = DirectCast(wRequest.GetResponse(), HttpWebResponse)

Dim sResponse As String = ""

Using srRead As New StreamReader(wResponse.GetResponseStream())
    sResponse = srRead.ReadToEnd()
End Using

I'm unfamiliar with the smartsheet API but you can use this as a start point.

If you are using a Proxy you will need to add...

Dim wProxy As IWebProxy = WebRequest.GetSystemWebProxy()
wProxy.Credentials = System.Net.CredentialCache.DefaultCredentials

and specify the proxy when you make the request...

wRequest.Proxy = wProxy

Solution 2

To create a web request in VB.Net, you can use the HttpWebRequest class.

The -H argument in curl creates an extra header. To add headers to a HttpWebRequest you simply add them to the WebHeaderCollection Headers.

Example:

Dim myHttpWebRequest = CType(WebRequest.Create("https://api.smartsheet.com/1.0/sheets"), HttpWebRequest)
myHttpWebRequest.Headers.Add("Authorization: Bearer 0da6cf0d-848c-4266-9b47-cd32a6151b1f")
myHttpWebRequest.Headers.Add("Assume-User: john.doe%40smartsheet.com")
Dim myHttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
Share:
11,754
need_the_buzz
Author by

need_the_buzz

Updated on July 18, 2022

Comments

  • need_the_buzz
    need_the_buzz almost 2 years

    I am trying to access the smartsheet API. They have a sample code provided in curl to access it.

    To access your Sheet list, construct an HTTPS request using your favorite programming or scripting language. Here is an example using the curl from a linux command line:

    curl https://api.smartsheet.com/1.0/sheets \
    -H "Authorization: Bearer 0da6cf0d-848c-4266-9b47-cd32a6151b1f" \
    -H "Assume-User: john.doe%40smartsheet.com"
    

    How do I do that in vb.net or from a html form?

  • need_the_buzz
    need_the_buzz about 11 years
    Thank you dominic, when I tried your code, I got the error The remote server returned an error: (401) Unauthorized. Would that be my authentication issues?
  • need_the_buzz
    need_the_buzz about 11 years
    Thank you Ciaran. When I tried both of your codes i am getting the error "The remote server returned an error: (401) Unauthorized". Is that something to do with the token?
  • Ciarán
    Ciarán about 11 years
    You are Unauthorized I'm afraid, i.e. you are being denied access. Do you have a password to supply in the header as well as your User? Go through your smartsheet documentation again and see where you supply your credentials
  • need_the_buzz
    need_the_buzz about 11 years
    Yes I have generated the token by myself and provided my email address. I have used this documentation smartsheet.com/developers/api-documentation#h.3bqgetcbgx89
  • Ciarán
    Ciarán about 11 years
    Are you behind a Firewall and using a web proxy?
  • need_the_buzz
    need_the_buzz about 11 years
    This worked as well. Sadly I can only accept one as answer :(, but you rockkkk
  • need_the_buzz
    need_the_buzz about 11 years
    actually I was trying to connect to production and I dun have the authorization, I have changed it to the sandbox and it worked. my bad!!! but you are awesome..
  • avioing
    avioing about 8 years
    Version 1.0 is not supported. Please use version 2.0 - e.g. .../2.0/sheets.
  • avioing
    avioing about 8 years
    Version 1.0 is not supported. Please use version 2.0 - e.g. .../2.0/sheets.