am having trouble posting urlencoded form data
What kind of trouble? A common mistake is not to set the appropriate Content-Type HTTP header, although at least curl does that automatically.
One approach to get it working would be to interact manually with the site while using Firefox's Live HTTP Headers extension (which in spite of the name it actually captures whole POST requests), or just fire up Wireshark.
Chances are that if the site is actively trying to stop crawlers it will have some sort of mechanism in its query/response process to make life difficult.
In any event, you'd be better off asking in a computer forum to start with.