Ich habe dieses Skript, das erfolgreich in eine Website anmeldet und führt eine Abfrage:Wie kann ich sicherstellen, dass diese PowerShell-Webanforderung die Sitzung ordnungsgemäß speichert?
$credential = Get-Credential
$postParams = @{username=$credential.UserName;password=$credential.GetNetworkCredential().password}
Invoke-WebRequest -Uri http://www.nexusmods.com/newvegas/sessions/?Login -Method POST -Body $postParams -SessionVariable cookie
$query = Invoke-WebRequest -Uri http://www.nexusmods.com/newvegas/mods/searchresults/? -WebSession $cookie
Was ich versuche, eine ähnliche Sache zu tun mit einer anderen Website ist zu tun, Trello. Dies ist das Skript:
$credential = Get-Credential
$postParams = @{method='password';'factors[user]'=$credential.UserName;'factors[password]'=$credential.GetNetworkCredential().password}
Invoke-WebRequest -Uri https://trello.com/1/authentication -Method POST -Body $postParams -SessionVariable cookie
$result = Invoke-WebRequest -uri https://trello.com/ -WebSession $cookie
führen jedoch Variable zeigt eine Seite, als ob der Benutzer nicht angemeldet wurde, so dass ich nehme an, dass die Sitzung nicht ordnungsgemäß zu speichern. Wie kann ich das beheben?
Was möchten Sie mit Trello machen? Sie haben eine API, die viel einfacher zu benutzen wäre, als zu versuchen, sich über ihre Webseite anzumelden.Wenn Sie mir eine Vorstellung davon geben, was Sie tun möchten, kann ich Ihnen helfen. – FoxDeploy
Ich schreibe PowerShell-Skript, das die API verwenden wird, aber ich möchte meinen Schlüssel oder irgendwelche Tokens nicht fest codieren, noch möchte ich jemanden zwingen, das Skript zu verwenden, um sich solche Dinge merken zu müssen. Mein Ziel ist es, Webrequests zu verwenden, um sich auf der Website anzumelden und den API-Schlüssel des Kontos abzurufen und ein Token zu generieren, so dass das API-verwendende Skript nur Anmeldeinformationen von CLI erhalten muss. –
Ich habe einen Ansatz dafür geschrieben, dies nativ mit ihrer API zu tun, lassen Sie mich wissen, ob das hilft. – FoxDeploy