SCP Example for CURLSMBS

I must be missing something as I am still getting an error 79. Christian how would I specific my local folder for the files to be copied to under this syntax? Thanks!!

dim e as integer
dim d as new UploadCURL
d.OptionUsername = “admin”
d.OptionPassword = “arista”
d.OptionURL=“scp://172.20.10.5/mnt/flash/schedule/tech-support/tech-suport_2015-01-31.0602.log”
d.CollectOutputData = true
d.OptionUpload=False
d.optionverbose=true
e=d.Perform

MsgBox "Result: "+str(e)

Because you wield magic :slight_smile: Please post that code? :slight_smile: :slight_smile:

did you check the debug messages for details?

I sent you the project by email.

The only debug errors I am seeing is the CURL lib error #79 that describes a nice “unspecified error” :slight_smile: :slight_smile:

Is my code snippet good from your thoughts Christian?

well, in UploadCURL class, do you write debug messages somewhere?

or use CollectDebugData = true and check the DebugData property after transfer.

Thank you Christian. Your support from MBS is top level professional and completely worth the investment.

Thank you.

[quote=166315:@Christian Schmitz]well, in UploadCURL class, do you write debug messages somewhere?

or use CollectDebugData = true and check the DebugData property after transfer.[/quote]
Nice I didn’t know that about the collectdebugdata parm. I will use that also.

Thanks

Good news is the SSH Auth is clean on Interactive mode. I am working on the file part now.

Hostname was NOT found in DNS cache

  Trying 172.20.10.5...

Connected to 172.20.10.5 (172.20.10.5) port 22 (#0)

SSH MD5 fingerprint: 2949e67be15eb700f9500909e770b9c3

SSH authentication methods available: publickey,keyboard-interactive

Using ssh public key file /Users/mcotrone/.ssh/id_dsa.pub

Using ssh private key file /Users/mcotrone/.ssh/id_dsa

SSH public key authentication failed: Unable to open public key file

Failure connecting to agent

Initialized keyboard interactive authentication

Authentication complete

SSH CONNECT phase done

Failed to recv file

Connection #0 to host 172.20.10.5 left intact

Does it work with 15.0pr10 plugin?
or 14.4 or 14.3 plugin?

I am using 14.4 now and I am troubleshooting it currently with my switch (server).

SUCCESS! I was having issues with the virtual switch I was trying for a while. I then moved to command line and replicated my issues. I then took CLI back to physical switch and had success. The same success I had when I tried my code base. :slight_smile: I just now have to take the d.OutputData results and do something with it now. :slight_smile:

Thanks again Christian! SCP lives in Xojo and the big value for me for my situation is that I couldn’t have RSA pub/priv key exchange so this works perfectly in interactive mode.

Thanks!

  dim e as integer
  dim d as new UploadCURL
  d.OptionUsername = "admin"
  d.OptionPassword = "arista"
  Dim URLBase as String = "scp://192.168.1.1/"
  Dim EncodedURL as String = EncodeURLComponent("mnt/flash/schedule/tech-support/tech-support_2014-09-05.2321.log.gz")
  d.OptionURL=URLBase + EncodedURL
  d.CollectOutputData = True
  d.CollectDebugData = True
  d.OptionUpload=False
  d.optionverbose=true
  e=d.Perform

If I use d.CollectDebugData = True, then how can I see the debug data?

After Perform check DebugData property.

Got it. I will try that.

d.DebugData

Thanks.

Just in case, I got the return value “Others” with a below code, it could be the fact that Server blocks ‘scp’?
I am trying to use URL using ‘scp’.
My partner got the return value when he tried in other system, and I am trying to reproduce it in my local.

  Select case e
  case d.kError_LOGIN_DENIED
    Return "Wrong password."
  case d.kError_UNSUPPORTED_PROTOCOL
    Return "Protocol not implemented."
  case d.kError_OK
    Return "Uploaded Successfully."  
  Else
    Return "Others"
  end select

I should check the value of ‘e’ as follows.

e=d.Perform

Compare the value of “e” with this list of error codes: https://curl.haxx.se/libcurl/c/libcurl-errors.html

Normally the debug message will tell you what’s wrong…

So will the error code, or the error buffer for that matter though I don’t see a way to access it through the plugin.