Мне нужно отправить файл через curl с помощью powershell , возможно ли это?

#powershell #curl #command #command-prompt

Вопрос:

Я пытаюсь написать скрипт powershell для загрузки файла на этот сайт. Изначально они предложили использовать командную строку, и предоставленная ими команда выполняется, но мне нужно вручную войти и изменить каталог, прежде чем я не знаю, как это сделать в сценарии с командной строкой. Я попытался сделать это в Powershell , чтобы я мог установить каталог в начале и автоматизировать, пожалуйста, просмотрите.

сценарий командной строки (запускается):

 -curl ‐i ‐F filedata=@"C:PBISPBISstudent.csv" -u"DoughertyCountyDL":"20PBi$" 
 

(это выполняется, но мне нужно зайти вручную и изменить каталог, а затем отправить его)

сценарий powershell (не запускается):

 Set-Location -Path "E:bin"
-curl ‐i ‐F filedata=@"C:PBISPBISstudent.csv" -u"DoughertyCountyDL":"20PBi$" 
"https://datalink.pbisapps.org/api/2/Students/File"
 

(Ошибка, которую я получаю, заключается в том, что он не распознает curl как командлет, но у меня указан путь, по которому curl.exe находится так, что я не понимаю.. )

Комментарии:

1. позвоните .curl.exe (с добавочным номером) вместо curl

2. Когда я его использую, он запустился, но выдал мне сообщение об ошибке, в котором говорилось, что учетные данные были неверными, но на самом деле они верны и запускаются в командной строке..

3. <!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Strict//EN» » w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd «> <html xmlns=» w3.org/1999/xhtml «> <head> <meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″ /> <title>401 — несанкционированный: доступ запрещен из-за неправильные учетные данные. </название>

4. Пожалуйста, добавьте сообщение об ошибке в текст вашего вопроса, чтобы оно было более заметным.

Ответ №1:

Собственный командлет Powershell таков Invoke-WebRequest . Вот ссылка на документацию для отправки файла: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-7.1#example-5—submit-a-multipart-form-data-file

Этот командлет также содержит параметр учетных данных, который также должен устранить вашу «Несанкционированную» ошибку.

Комментарии:

1. Итак, можете ли вы помочь мне преобразовать предоставленный код, который я попытался выполнить с помощью invoke-webrequest? Для меня это не имеет смысла, я полный новичок в powershell. Я пытаюсь понять, могу ли я изменить каталог в пакете командной строки прямо сейчас