我正在尝试使用节点模块Request在网站上进行身份验证,并且在关注instructions后,我似乎无法弄清楚...
使用Coffeescript我已经完成了以下工作:
Request {
url: "https://#{encodeURIComponent(config.email)}:#{encodeURIComponent(config.password)}@#{config.loginURL}"
}, (error, response, body) ->
if error
console.log error
else
console.log body
config
值分别是电子邮件,密码和URL。网址为app.shopify.com/services/partners/auth/login
。此外,由于用户名是电子邮件地址,我认为最好encodeURIComponent
登录值。
当我运行此操作时,我没有收到错误,但body
的输出只是登录页面的标记。
我也试过这样做:
Request.get config.loginURL, {
auth: {
username: config.email
password: config.password
sendImmediately: false
}
}, (error, response, body) ->
if error
console.log error
else
console.log body
在这种情况下,由于凭据不是网址的一部分,因此我没有encodeURIComponent
。此外,登录网址前面有https://
。
有人能引导我朝正确的方向前进吗?
答案 0 :(得分:0)
如果页面未使用基本/摘要式身份验证,而是使用基于表单的身份验证,则需要POST表单值:
request(config.loginURL, {
method: 'POST',
form: {
// these key names come from the `name` field in the login form's HTML
login: config.email,
password: config.password
}
}, function(err, res, body) {
// ...
});