Skip to content

Instantly share code, notes, and snippets.

@bahamas10
Created December 15, 2012 04:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bahamas10/4291392 to your computer and use it in GitHub Desktop.
Save bahamas10/4291392 to your computer and use it in GitHub Desktop.
url parsing for the shell in node that supports pipelining commands, easy screen scraping ahead
$ echo 'http://www.daveeddy.com/some/path/here?name=dave' | urlparse | json query.name
dave
$ echo 'http://www.daveeddy.com/some/path/here?name=dave' | urlparse | json pathname
/some/path/here
$ echo 'http://www.daveeddy.com/some/path/here?name=dave' | urlparse
{
  "protocol": "http:",
  "slashes": true,
  "host": "www.daveeddy.com",
  "hostname": "www.daveeddy.com",
  "href": "http://www.daveeddy.com/some/path/here?name=dave",
  "search": "?name=dave",
  "query": {
    "name": "dave"
  },
  "pathname": "/some/path/here",
  "path": "/some/path/here?name=dave"
}
$ type -a urlparse
urlparse is a function
urlparse () 
{ 
    node -e "
  var fs = require('fs');
	var url = require('url');
	var stdin = fs.readFileSync('/dev/stdin').toString();
	console.log(JSON.stringify(url.parse(stdin, true), null, 2));
	"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment