В частности, какие значения ниже необходимы для фактического получения информации с веб-страницы, которую я хочу?Он находится за страницей входа, и с помощью Fiddler на веб-сайте моей компании я смог найти полную информацию заголовка / файла cookie / запроса на странице, которую я пытаюсь получить.Однако, поскольку я все еще новичок, я не уверен, какие именно значения / синтаксис необходимы для извлечения данных с правильной веб-страницы с powershell.
Я могу войти на страницу, используяpost invoke-webrequest, но возвращаемая информация поступает со страницы, которую вы получите при успешном входе в систему (добро пожаловать на сайт, ваше имя), а не с информацией о URL запрашиваемой страницы.
Информация о скрипаче на странице, которую я хочу видеть:
Get /com.fakename.fakename.fakename.fakename.detail.content.EntityDetailsContent.pa?id=17645401423347344&entityType=project HTTP/1.1
Accept: */*
X-Requested-With: XMLHttpRequest
Referer: https://fakename.fakename.com/home.pa
Accept-Language: en-US
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: fakename.fakename.com
Connection: Keep-Alive
Cookie:
login=fakeid;
customerid=1215fakename;
lang=en;
loginServer=fakeserver;
ISESSIONID=111111f-2111-1119-911d-21111112f918;
JSESSIONID=12381681FLINJLIjn79ED;
notificationLastRun=1533333246
Запрос вернул страницусо всей информацией, которую я хотел.Конечно, настоящая проблема заключается в том, чтобы делать это программно с PowerShell.То, что я пробовал до сих пор, провалилось.Я также попробовал httprequest - но я не уверен, что это за заголовки / cookie / синтаксис - я пробовал решение, которое только возвращало информацию на экране входа в систему, оно даже не передавало его.
$username = "fakeid" : $password = "passwordtogetintosite"
$url = "Https://PathtothissiteMainPage.com"
$url2 = "Https://PathofUrlIwant.com/Id=112332323"
$r = Invoke-WebRequest -uri $url -SessionVariable websession
$form = $r.Forms[0]
$form.fields['login'] = $username
$form.fields['password'] = $password
$r = Invoke-WebRequest -uri ($url + $form.Action) -WebSession $websession -Method Post -Body $form.Fields
$r2 = Invoke-WebRequest -URI $url2 -WebSession $websession
$r2.Content|select-string "id on the page I want"
Учитывая предоставленную информацию, как / что мне не хватает, чтобы заставить команду работать по запросу аутентифицированного URL?Кстати, переменная $ websession содержит jsession, login, customerid, но не переменную isession, которую fiddler нашел, если это поможет.Также кажется, что страницы работают с SOAP, если это облегчает процесс.