gpt4 book ai didi

authentication - 使用 XMLHttpRequest 的用户身份验证适用于 IE,而不适用于 Chrome?

转载 作者:行者123 更新时间:2023-12-04 23:33:10 26 4
gpt4 key购买 nike

以下函数在 IE 中有效,但在 Chrome 中无效:

function doStuff() {
var request = new XMLHttpRequest();
request.open("POST", "http://twitter.com/statuses/update.json", true, "USERNAME-HERE", "PASSWORD-HERE");
request.send("status=STATUS UPDATE HERE");
}

Chrome 生成以下请求。请注意,缺少 Authorization header :

选项/statuses/update.json HTTP/1.1
主持人:twitter.com
连接:保持连接
用户代理:Mozilla/5.0(Windows;U;Windows NT 6.1;en-US)AppleWebKit/532.5(KHTML,如 Gecko)Chrome/4.0.249.78 Safari/532.5
访问控制请求方法:POST
来源:文件://
访问控制请求头:内容类型
接受: */*
接受编码:gzip、deflate、sdch
接受语言:en-US,en;q=0.8
接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.3

我得到以下响应(http 401):

HTTP/1.1 401 未经授权
日期:2010 年 2 月 3 日,星期三 00:39:33 GMT
服务器:你好
状态:401 未经授权
WWW-Authenticate:基本领域=“Twitter API”
X 运行时间:0.00107
内容类型:应用程序/json;字符集=utf-8
缓存控制:无缓存,max-age=300
设置Cookie:_twitter_sess = BAh7BzoHaWQiJTUxMTc2Nzk4N2U0YzMzZmU0ZTQyNzI4NjQyYjI3ODE2Igpm%250AbGFzaElDOidBY3Rpb25Db250cm9sbGVyOjpGbGFzaDo6Rmxhc2hIYXNoewAG%250AOgpAdXNlZHsA - bb61324c3ba12c3cd1794b3895a906a69c154edd;域=.twitter.com;路径=/
到期: 2010 年 2 月 3 日星期三 00:44:33 GMT
变化:接受编码
内容长度:73
连接:关闭

{"request":"/statuses/update.json","error":"无法对您进行身份验证。"}

那么,我应该如何将用户名和密码传递给 XHR? Webkit/Safari 文档说 open 方法应该采用这些参数,所以我不确定它为什么失败。

最佳答案

解决方案是我需要添加

request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

我这样做的方式……很特别……所以这对其他人来说可能没有多大用处。但是一旦我添加了这个 webkit 就开始添加授权。

关于authentication - 使用 XMLHttpRequest 的用户身份验证适用于 IE,而不适用于 Chrome?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2188957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com