That's not the proper URL of the actual list item, from SharePoint's perspective. It's just the URL of some page that happens to display that item, which is different.
You're going to need to parse that URL, extract out the required information from it (namely the list and item ID), and then use that information to find the item:
var queryStrings = HttpUtility.ParseQueryString(url);
var listGuid = Guid.Parse(queryStrings["ListId"]);
var itemId = int.Parse(queryStrings["ID"]);
var item = web.Lists[listGuid].GetItemById(itemId);
If you're curious what the actual item URL is, print out the item.URL
property to see what it actually is for that item. That's what your URL would need to contain for your code to actually work.