2009-10-30 29 views
10

Estoy intentando utilizar XMLHTTPRequest para obtener una actualización en twitter.Autenticación básica con XMLHTTPRequest

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

Sin embargo, el uso de mi sniffer no puedo ver ninguna cabecera de autorización que se pasa a través. Por lo tanto, recibo una respuesta de error 401 de Twitter.

La cuenta y la contraseña se ingresaron correctamente.

¿Alguien intenta esto? ¿Puede alguien darme algunos consejos? Gracias.

Respuesta

1

Debido a la política de origen , no puede hacer una solicitud XMLHttp desde su dominio a otro dominio. P.ej. no puede usar las URL http://twitter.com/... a menos que su script se haya cargado desde twitter.com. Si su script se carga desde http://localhost/, la solicitud AJAX también necesita ir a localhost.

44

Sólo tiene que añadir un encabezado de autorización, un nombre de usuario y contraseña en una cadena codificada en base64 de la siguiente manera.

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

caso de que el 'Client' en el fragmento de código, '' XMLReq'' (la variable de la pregunta)? – JaKu

+0

En realidad, sí, estás en lo cierto. El método es XMLHttpRequest.setRequestHeader (encabezado, valor). –

Cuestiones relacionadas