To put it simply, you can't get an itemlink that isn't in the user's local cache unless you know the itemID of that item - the name doesn't help. With the itemID, you can query the server for the item's tooltip (by calling sometooltipofyouraddon:SetHyperlink("itemid:1234")) and then waiting a couple of seconds for the server to reply.
There is no event or guarantee that the server will even reply with the itemlink to populate your itemcache. If the server hasn't seen the item before since its last server reboot, seen here in this case meaning a vendor spawns it, a corpse dropped it, or someone with the item logged in since server reboot). If you query for too many invalid itemlinks (validity is based on whether the server has seen it before since reboot), typically more than 6 per minute, the server will disconnect you offline for spamming the server.
Since I wrote WoWEquip, I'll explain how it works.
WoW stores a cache of every item you have seen in the game since the last patch you installed. "Seen" here means if someone is wearing it near you (visible range), if you looted it, the item appears in a loot box/roll, the item exists in your bank or bags, you visited the guild bank and its in the tab you viewed, etc. "Seen" does NOT include people pasting itemlinks in chat, unless you actually clicked on the link to open the tooltip.
All WoWEquip does is loop from itemIDs 55000 to 0 and check if your cache contains the item (by using GetItemInfo(itemID) and seeing if it returns nil). Then I find the eligible items for a particular paper doll slot you are trying to equip by applying the user's filters and display the final list.
WoWEquip includes a very obvious message that says ... well see the bottom right corner of this screenshot: