问题描述
因此,我仍然是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 (将#修改为@)