En un navegador, si envío una solicitud GET, la solicitud enviará la cookie mientras tanto. Ahora quiero simular una solicitud GET desde Node, ¿cómo escribir el código?¿Puedo enviar una solicitud GET con cookies en los encabezados en Nodo?
Respuesta
El uso de la maravillosa biblioteca request está habilitada por defecto. Puede enviar su propia como tal (tomado de la página de Github):
var j = request.jar()
var cookie = request.cookie('your_cookie_here')
j.add(cookie)
request({url: 'http://www.google.com', jar: j}, function() {
request('http://images.google.com')
})
Si quiere hacerlo con el método nativo http:request()
, es necesario establecer las adecuadas Set-Cookie
cabeceras (consulte una referencia HTTP para lo que debería verse) en el headers
miembro del argumento options
; no hay métodos específicos en el código nativo para tratar con las cookies. Consulte el código fuente en la biblioteca request
de Mikeal o el código cookieParser
en connect
si necesita ejemplos concretos.
Pero Femi está casi seguro en lo cierto: lidiar con las cookies está lleno de detalles algo quisquillosos y casi siempre va a ser mejor usar código que ya se ha escrito y, lo que es más importante, probado. Si intentas reinventar esta rueda en particular, es probable que encuentres un código que parece funcionar la mayor parte del tiempo, pero ocasionalmente e imprevisiblemente falla misteriosamente.
var jar = request.jar();
const jwtSecret = fs.readFileSync(`${__dirname}/.ssh/id_rsa`, 'utf8');
const token = jwt.sign(jwtPayload, jwtSecret, settings);
jar.setCookie(`any-name=${token}`, 'http://localhost:12345/');
const options = {
method: 'GET',
url: 'http://localhost:12345',
jar,
json: true
};
request(options, handleResponse);
Agregue más descripción y/o información sobre su respuesta y cómo resuelve el problema solicitado para que otros puedan entenderlo fácilmente sin pedir aclaraciones – koceeng
- 1. ¿Cómo enviar una solicitud GET en AS3?
- 2. PHP GET Solicitud, envío de encabezados
- 3. Pasar encabezados de solicitud en una llamada jQuery AJAX GET
- 4. ¿Cómo puedo ver los encabezados de solicitud realizados por curl al enviar una solicitud al servidor?
- 5. ¿Cómo enviar una solicitud GET desde PHP?
- 6. No puedo enviar cookies con file_get_contents
- 7. ¿Cómo puedo enviar un archivo en una solicitud POST?
- 8. cómo enviar una solicitud HTTPS GET en C#
- 9. Enviar encabezados en python
- 10. RestTemplate solicitud GET con los parámetros de solicitud
- 11. ¿Es posible enviar encabezados personalizados con un XHR (solicitud "Ajax")?
- 12. ¿Cómo puedo enviar encabezados personalizados con URLRequest
- 13. VideoView con cookies (o encabezados)
- 14. python: urllib2 cómo enviar cookies con la solicitud de urlopen
- 15. Hacer una solicitud de CORS en IE9 con cookies?
- 16. ¿Cómo puedo acceder a una solicitud GET en CAKEPHP?
- 17. accediendo a los encabezados de solicitud en django/python
- 18. ¿Cómo puedo leer los encabezados actuales sin realizar una nueva solicitud con JS?
- 19. ¿Cómo puedo hacer una solicitud con los parámetros GET y POST?
- 20. ¿Cómo realizar una solicitud get con RestSharp?
- 21. ¿Cuánto tiempo pueden ser los parámetros en una solicitud get?
- 22. Agregar encabezados a una solicitud en rieles
- 23. HTTP POST y GET con cookies para autenticación en python
- 24. window.open con los encabezados
- 25. ¿Cómo puedo realizar una solicitud GET sin descargar el contenido?
- 26. Simular una solicitud GET XHR
- 27. ¿Está garantizada la solicitud de Ajax para enviar cookies?
- 28. ¿Cómo puedo pasar los encabezados de solicitud con el método getJSON() de jQuery?
- 29. ¿Cómo realizo una solicitud http usando cookies en Android?
- 30. Añadir un parámetro GET a una solicitud POST con RestSharp
Pero, ¿cómo se ve el código con solo los módulos predeterminados? – jiyinyiyong
Ah: no estoy seguro. Nunca he intentado usar el cliente HTTP predeterminado para mis solicitudes. – Femi
Acabo de empezar a aprender más sobre HTTP. Creo que si el módulo 'http' predeterminado tiene el método para hacerlo, puedo obtener más información al respecto. – jiyinyiyong