如何使用Powershell Invoke-WebRequest

问题描述

因此,我仍然是Powershell的新手,我正在“尝试”编写一个脚本,该脚本登录到我的学校网站(仅提供给学生)上,并提供我将要在其上进行的课程日期,老师的姓名和上课时间。

我遇到了一些障碍,只是想不出下一步该怎么做。

$TrainingServer_Classes = Invoke-WebRequest -Uri "example.com" -SessionVariable SessionLogin #Using example.com as a way of not exposing the real uri
$TrainingServer_Classes.Forms #Check the forms and checking if it's a POST METHOD or a GET
$TrainingServer_Classes.Forms["formname"].Fields #Checking the name of the inputs
$UserData = @{txtPwd = "userPass"
              txtUser = "UserName"} #Creating a hash_table to pass as splatting for the Invoke-WebRequest (login)
#As soon as I have all the data available,that's when I try to login
$Login_TrainingServer = Invoke-WebRequest -Uri "example.com" <#The Same uri#> -SessionVariable $SessionLogin -Body $UserData <#Passing the hashtable containing the user data#> -Method Post
$Login_TrainingServer

这是我没有得到的:

如何查看登录是否成功? (创建try catch?idk)

如果登录确实成功,如何从此处继续?我是否必须创建另一个invoke-webrequest,其中包含与类的链接并传递在前一个中创建的sessionvariable?

最后一个问题,可能是我在哪里挠头:

如果我运行以下命令

$TrainingServer_Classes.Forms 

我可以看到表单具有get / post方法,对吗?这就是为什么我在$ Login_TrainingServer变量上传递该参数的原因。但是,如果我在浏览器中进行检查,则登录后的下一页会告诉我这是一种GET方法

在我真正尝试理解网络抓取的过程中感谢帮助人员

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...