Если вы посмотрите на заголовки, тип содержимого пуст, поэтому Invoke-WebRequest
не знает, с чем он работает, и рассматривает данные как двоичные данные (байтовый массив).
(Invoke-WebRequest https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt).Headers
Key Value
--- -----
Accept-Ranges bytes
Content-Length 43642
Content-Type
Date Sat, 14 Jul 2018 02:28:36 GMT
ETag "0a43bd5ebd9b3e2ee08a205d163cb0ac"
Last-Modified Wed, 09 Mar 2016 19:46:05 GMT
Server AmazonS3
Хотя, например, вызывая Invoke-WebRequest
по этому вопросу:
(Invoke-WebRequest https://stackoverflow.com/questions/51333965/invoke-webrequest-returning-unexpecte
d-results-for-some-addresses).Headers
Key Value
--- -----
X-Frame-Options SAMEORIGIN
X-Request-Guid 9366c316-b9b3-467b-8911-b18bb4752e1c
Strict-Transport-Security max-age=15552000
Content-Security-Policy upgrade-insecure-requests
Age 0,0
Accept-Ranges bytes,bytes
Content-Length 108783
Cache-Control private
Content-Type text/html; charset=utf-8
…
EDIT: Если вы хотите отменить тип содержимого, вы можете сделать что-то вроде этого:
$url = 'https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt'
[System.Net.HttpWebRequest]$req = [System.Net.WebRequest]::Create($url) -as [System.Net.HttpWebRequest]
[System.Net.HttpWebResponse]$resp = $req.getResponse()
$respStream = $resp.getResponseStream()
$sr = new-object IO.StreamReader($respStream)
$result = $sr.ReadToEnd()
$resp.Close()
Да, вы используете REST API :
PUT /api/repositories/new-repo-name
{
"key": "new-repo-name",
"rclass" : "local",
"packageType": "generic"
}
Практически все, что вы можете сделать в пользовательском интерфейсе, возможно через REST API, оно довольно обширное. Я столкнулся с очень немногими вещами, которые я не могу так легко автоматизировать.
Вы также можете использовать Artifactory Java client или JFrog Go клиент , которые являются библиотеками для Java и Go (соответственно), которые обертывают API REST. Последнее довольно новое из того, что я могу сказать, и оно может еще не поддерживать все.