Authentication 即使在身份验证之后,Power Query也会将登录表单作为结果集而不是内容返回
我正在尝试刮取一个网站结果集,以创建一个包含该特定网站结果的表。在正常登录该网站时,我可以使用我的凭据访问该网站的内容。网站使用HTTPS 但是,当我试图通过power BI(以及更具体的power Query)检索同一网站的内容时,我会看到一个两列两行的结果集,就像该网站向我索要凭据一样:Authentication 即使在身份验证之后,Power Query也会将登录表单作为结果集而不是内容返回,authentication,https,powerbi,powerquery,Authentication,Https,Powerbi,Powerquery,我正在尝试刮取一个网站结果集,以创建一个包含该特定网站结果的表。在正常登录该网站时,我可以使用我的凭据访问该网站的内容。网站使用HTTPS 但是,当我试图通过power BI(以及更具体的power Query)检索同一网站的内容时,我会看到一个两列两行的结果集,就像该网站向我索要凭据一样: |--------------|-------------| | Username: | | |--------------|-------------| | Passwor
|--------------|-------------|
| Username: | |
|--------------|-------------|
| Password: | |
|--------------|-------------|
let
Source = Web.Page(
Web.Contents(
"https://url.htm",
[Query=
[mNo ="1234",form name="overviewDetailsForm", id="overviewDetailsForm", method="post"
]
],
[Content=Text.ToBinary()
]
)
),
Data0 = Source{0}[Data]
in
Data0
这是在我输入凭据后,power query要求输入凭据(不返回任何错误输入错误)。凭证输入正确。输入错误凭据时,会出现错误
我已尝试了以下查询选项:
- 直接输入所需的网站
- 在M中带有查询和内容选项的高级输入将强制POST()而不是GET()
let
Source = Web.Page(
Web.Contents(
"https://url.htm",
[Query=
[mNo ="1234",form name="overviewDetailsForm", id="overviewDetailsForm", method="post"
]
]
)
),
Data0 = Source{0}[Data]
in
Data0
方法2-出现错误,因为选项只能与匿名凭据一起使用:
|--------------|-------------|
| Username: | |
|--------------|-------------|
| Password: | |
|--------------|-------------|
let
Source = Web.Page(
Web.Contents(
"https://url.htm",
[Query=
[mNo ="1234",form name="overviewDetailsForm", id="overviewDetailsForm", method="post"
]
],
[Content=Text.ToBinary()
]
)
),
Data0 = Source{0}[Data]
in
Data0
如果使用HTTP调试器,您应该能够检查浏览器在站点上发出的HTTPS请求。(您必须同意让Fiddler在您的计算机上安装根CA,以限制您的internet流量。)您的用户名/密码是否显示在“身份验证”或“标题”选项卡中 通常,您可以在
Web.Contents
中设置所需的任何标题,它们也可以与Web.Page
一起使用,但请注意,某些身份验证令牌将随着时间的推移而过期
通过一些尝试和错误,您应该能够让Power Query发出与您的浏览器相同的HTTP请求,并且您将获得您的数据 如果使用HTTP调试器,您应该能够检查浏览器在站点上发出的HTTPS请求。(您必须同意让Fiddler在您的计算机上安装根CA,以限制您的internet流量。)您的用户名/密码是否显示在“身份验证”或“标题”选项卡中 通常,您可以在
Web.Contents
中设置所需的任何标题,它们也可以与Web.Page
一起使用,但请注意,某些身份验证令牌将随着时间的推移而过期
通过一些尝试和错误,您应该能够让Power Query发出与您的浏览器相同的HTTP请求,并且您将获得您的数据 嗨,卡尔,谢谢你的见解。我尝试过fiddler,即使使用解密HTTPS流量,我的用户名和密码也不会出现在流量中。我不确定这是否是因为power query存储了我的凭据(因为它在连接时第一次请求凭据),并生成了令牌本身或其他原因。我会“摆弄”它,但如果你有更多的提示,那就太好了。如果你从你的浏览器查看流量,需要一些身份验证吗?它是使用cookie还是其他身份验证令牌?谢谢您的回复。老实说,我完全忘记了这个话题。这个问题还没有解决,将来也不会解决。我们试图解析的源使用了一些身份验证令牌,我们的客户不会授予我们访问应用程序的权限。我会把这条线合上的。嗨,卡尔,谢谢你的见解。我尝试过fiddler,即使使用解密HTTPS流量,我的用户名和密码也不会出现在流量中。我不确定这是否是因为power query存储了我的凭据(因为它在连接时第一次请求凭据),并生成了令牌本身或其他原因。我会“摆弄”它,但如果你有更多的提示,那就太好了。如果你从你的浏览器查看流量,需要一些身份验证吗?它是使用cookie还是其他身份验证令牌?谢谢您的回复。老实说,我完全忘记了这个话题。这个问题还没有解决,将来也不会解决。我们试图解析的源使用了一些身份验证令牌,我们的客户不会授予我们访问应用程序的权限。我会设法把这条线合上。