Так что я выкладываю ответ здесь на тот случай, если у кого-то еще есть такой же вопрос.Я действительно смог сделать это довольно легко.
Сначала вы должны сгенерировать личный токен.Для этого достаточно проходов, поэтому я не буду вдаваться в подробности.
Далее необходимо получить адрес необработанного файла, который вы хотите загрузить.Вы можете получить это, открыв файл в GitLab, затем в правом верхнем углу окна есть кнопка «Open Raw», которая открывает необработанную страницу.
См. Изображение здесь
Получить URL из адресной строки.Как только вы это сделаете, у вас есть все, что вам нужно, чтобы свернуть файл, используя VB.net.
Вы должны взять адрес необработанного файла, скажем, это было "https://gitlab.com/CompanyName/raw/master/folder/filename.ps1", вы потом добавляете?", С вашим личным токеном, так что это выглядит так: "https://gitlab.com/CompanyName/raw/master/folder/filename.ps1?private_token=MyPrivateToken"и используйте локон (через powershell), чтобы получить его.
В моем коде уже была функция для запуска сценариев PowerShell (с кодом, который, как мне кажется, я покинул этот сайт ... забыл точное местоположение), который был таким:
Private Function RunScript(ByVal scriptText As String) As String
' Takes script text as input and runs it, then converts
' the results to a string to return to the user
' create Powershell runspace
Dim MyRunSpace As Runspace = RunspaceFactory.CreateRunspace()
' open it
MyRunSpace.Open()
' create a pipeline and feed it the script text
Dim MyPipeline As Pipeline = MyRunSpace.CreatePipeline()
MyPipeline.Commands.AddScript(scriptText)
' add an extra command to transform the script output objects into nicely formatted strings
' remove this line to get the actual objects that the script returns. For example, the script
' "Get-Process" returns a collection of System.Diagnostics.Process instances.
MyPipeline.Commands.Add("Out-String")
' execute the script
Dim results As Collection(Of PSObject) = MyPipeline.Invoke()
' close the runspace
MyRunSpace.Close()
' convert the script result into a single string
Dim MyStringBuilder As New StringBuilder()
For Each obj As PSObject In results
MyStringBuilder.AppendLine(obj.ToString())
Next
' return the results of the script that has
' now been converted to text
Return MyStringBuilder.ToString()
End Function
Теперь я могу вызвать команду curl с этой функцией следующим образом:
RunScript("curl https://gitlab.com/CompanyName/raw/master/folder/filename.ps1?private_token=MyPrivateToken -outfile C:\DownloadFolder\FileName.ps1")
Вот и все!В любое время, когда вам нужно получить файл, вы можете просто получить местоположение необработанного файла и изменить вызов функции, чтобы отразить новый адрес, и захватить его.