# Web Request Viewer > Send a request to this server and it tells what your request look like. ## Use cases It's hard to know the exact information of a request sent out from your code. The best and eaiset way is of course have a real server listening to your requests and reply with what information they can see from your request. For example, if you are writing a web scrapying bot and you want to change your user-agent to hide this bot, how can you make sure the request sent indeed hides your user-agent? Or if request headers contains any information that could leak your identity. What about you are using a VPN and you are unsure whether the VPN indeed hides your IP. You can send to request to this server and check the IP this server sees. ### VPN Some VPN protocols like shadowsocks work in layer 4 (transport layer) in the 7-layer OSI model, some work in layer 3 (network layer). It feels the same in browsers. <img src="https://hacker-storage.s3.us-east-2.amazonaws.com/2023/10/15/osi_model_7_layers.png" width="100%" /> If you use terminal (`curl` command or `git`), VPNs like OpenVPN automatically handles the traffic for you. While VPNs using shadowsocks requires extra http/socks proxy configuration. If you are a hacker/pentester, how can you verify whether you hide your identity behind VPN successfully? Simply send a request to the request viewer server and compare with your real ip. It also returns the intermmediate routers' ip. ## Features - `/online`: check if the server is online - `/headers`: return all headers in the request - `/ip`: return the ip of the request, including intermediate routers - `/user-agent`: return the user-agent of the request - `/cookies`: return the cookies of the request - `/time`: return the time of the request <img src="https://hacker-storage.s3.us-east-2.amazonaws.com/2023/10/15/carbon.png" width="100%" />