RFuzz::HttpClient hangs on meta refresh

I have to integrate some code with a client who uses SalesForce as its
CRM, and I’ve noticed something that might be RFuzz-related when
working with the request.

SalesForce’s WebToLead service waits for HTTP POSTs to come in and
translates those into new entries in its system. If you do a curl as
such:

curl -d ‘’ ‘http://www.salesforce.com/servlet/servlet.WebToLead

You’ll get an empty response with a 200 status.

However, apparently SalesForce lets you provide a “retURL” key in the
request body, and it’ll give you back a response with a meta refresh
tag:

curl -d ‘retURL=http://www.google.com’ ‘http://www.salesforce.com/
servlet/servlet.WebToLead’

The response will be something like this:

Whenever I try this through RFuzz’s HttpClient, however, it hangs on
me:

uri = URI.parse(‘http://www.salesforce.com/servlet/servlet.WebToLead’)
client = RFuzz::HttpClient.new(uri.host, uri.port)
client.post(uri.path, :body => ‘retURL=http://www.google.com’) # ←
Hangs

Even when providing “:redirect => false” to client.post, it still
hangs.

Any ideas?

Thanks,
Adam