使用 XMLHTTPRequest 进行基本身份验证

发布于 2024-08-09 23:31:14 字数 342 浏览 5 评论 0原文

我正在尝试使用 XMLHTTPRequest 获取 Twitter 上的更新。

var XMLReq = new XMLHttpRequest();
XMLReq.open("GET", "http://twitter.com/account/verify_credentials.json", false, "TestAct", "password");
XMLReq.send(null);

但是,使用我的嗅探器我看不到任何授权标头被传递。因此,我收到了来自 Twitter 的 401 错误响应。

账号和密码输入正确。

有人尝试这个吗?有人能给我一些指点吗?谢谢。

I am attempting to use XMLHTTPRequest to get an update on twitter.

var XMLReq = new XMLHttpRequest();
XMLReq.open("GET", "http://twitter.com/account/verify_credentials.json", false, "TestAct", "password");
XMLReq.send(null);

However, using my sniffer I cannot see any authorization headers being passed through. Hence, I get a 401 error response from Twitter.

The account and password are correctly entered.

Anyone attempt this? Can anyone give me some pointers? Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

仙女山的月亮 2024-08-16 23:31:14

您只需在 Base64 编码字符串中添加授权标头、用户名和密码,如下所示。

XMLReq.setRequestHeader("Authorization", "Basic " + btoa("username:password"));

You just need to add a Authorization header, a user name and password in a base64 encoded string as follows.

XMLReq.setRequestHeader("Authorization", "Basic " + btoa("username:password"));
慕烟庭风 2024-08-16 23:31:14

在跨源请求中,如果您希望发送用户凭据,则必须显式设置 withCredentials 标志。

请参阅http://www.w3.org/TR/XMLHttpRequest/#the-withcredentials-attribute (其中 用户凭据 包括 HTTP 身份验证)

In cross-origin requests, you have to explicitly set the withCredentials flag if you want user credentials to be sent.

See http://www.w3.org/TR/XMLHttpRequest/#the-withcredentials-attribute (where user credentials includes HTTP authentication)

你的呼吸 2024-08-16 23:31:14

由于来源政策,您无法从您的域向另一个域发出 XMLHttpRequest。例如,除非您的脚本是从 twitter.com 加载的,否则您不能使用 http://twitter.com/... URL。如果您的脚本是从 http://localhost/ 加载的,则 AJAX 请求也需要转到 localhost。

Due to the Origin policy, you cannot make a XMLHttpRequest from your domain to another domain. E.g. you cannot use http://twitter.com/... URLs unless your script was loaded from twitter.com. If your script is loaded from http://localhost/, the AJAX request also need to go to localhost.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文