So, I have to retrieve temperature from any one of the cities from http://www.rssweather.com/dir/Asia/India.
Let's assume I want to retrieve of Kanpur's.
How to make an HTTP GET request with Netcat?
I'm doing something like this.
nc -v rssweather.com 80
GET http://www.rssweather.com/wx/in/kanpur/wx.php HTTP/1.1
Of course you could dig in standards searched for google, but actually if you want to get only a single URL, it doesn't worth the effort.
You could also start a netcat in listening mode on a port:
nc -l 64738
...and then do a browser request into this port with a real browser. Just type in your browser
http://localhost:64738 and see.
In your actual case the problem is that HTTP/1.1 doesn't close the connection automatically, but it waits your next URL you want to retrieve. The solution is simple:
GET /this/url/you/want/to/get HTTP/1.0 Host: www.rssweather.com <empty line>
or use a
Connection: request header to say the server you want to close after that:
GET /this/url/you/want/to/get HTTP/1.1 Host: www.rssweather.com Connection: close <empty line>
Extension: After the GET header write only the path part of the request. The hostname from which you want to get data belongs to a
Host: header as you can see in my examples. This is because multiple websites can run on the same webserver, so the browsers need to say him, from which server they want to load the page.