Quiero obtener la zona horaria y la ubicación del usuario para mostrar una página del lado del servidor según la ubicación y la zona horaria, pero no puedo obtener la dirección IP del usuario de la solicitud ni la dirección IP del host local (127.0.0.1). entonces qué debo hacer ?
Puede usar algo como el paquete request-ip . Luego, en su ruta API:
import requestIp from 'request-ip' export default async function myRoute( req: NextApiRequest, res: NextApiResponse ) { const detectedIp = requestIp.getClientIp(req) }Pude detectar la dirección IP del usuario con la aplicación next.js:
export async function getServerSideProps({ req }) { const forwarded = req.headers["x-forwarded-for"] const ip = forwarded ? forwarded.split(/, /)[0] : req.connection.remoteAddress return { props: { ip, }, } }También puede intentar usar getInitialProps de la página.
IndexPage.getInitialProps = async ({ req }) => { const ip = req.headers["x-real-ip"] || req.connection.remoteAddress; return { ip }; };