Does anyone know if there is an API that I can use to post HTTP form data?
I've looked at using inets:httpc, and it seems to have everything I need, except that it doesn't appear to allow you to pass it a list of key/value tuples and have them be encoded into the HTTP request as application/x-www-form-urlencoded data.
Does anyone know if inets:httpc can do this, and if not whether there are any libraries I can easily use?
Cheers,
R.
________________________________________________________________ erlang-questions (at) erlang.org mailing list. See http://www.erlang.org/faq.html To unsubscribe; mailto:erlang-questions-unsubscr...@erlang.org
On Tue, Aug 17, 2010 at 4:43 PM, Rick Moynihan <r...@wgrids.com> wrote: > Does anyone know if there is an API that I can use to post HTTP form data?
> I've looked at using inets:httpc, and it seems to have everything I > need, except that it doesn't appear to allow you to pass it a list of > key/value tuples and have them be encoded into the HTTP request as > application/x-www-form-urlencoded data.
> Does anyone know if inets:httpc can do this, and if not whether there > are any libraries I can easily use?
Mochiweb provides a Request "object" to your callback function, and that has a parse_post/0 function, which'll give you back a proplist of key/value pairs from your POST body (and you can use parse_qs/0 for GET options after the ? on the url).
> On Tue, Aug 17, 2010 at 4:43 PM, Rick Moynihan <r...@wgrids.com> wrote:
>> Does anyone know if there is an API that I can use to post HTTP form data?
>> I've looked at using inets:httpc, and it seems to have everything I >> need, except that it doesn't appear to allow you to pass it a list of >> key/value tuples and have them be encoded into the HTTP request as >> application/x-www-form-urlencoded data.
>> Does anyone know if inets:httpc can do this, and if not whether there >> are any libraries I can easily use?
> Mochiweb provides a Request "object" to your callback function, and that has > a parse_post/0 function, which'll give you back a proplist of key/value > pairs from your POST body (and you can use parse_qs/0 for GET options after > the ? on the url).
> Haven't used inets in a while.
> Robby
________________________________________________________________ erlang-questions (at) erlang.org mailing list. See http://www.erlang.org/faq.html To unsubscribe; mailto:erlang-questions-unsubscr...@erlang.org
> If required you could use edoc:escape_uri(String) for the individual values.
Yes, I discovered that shortly after sending the email; prompting me to write the following function, rather than take on an external dependency, which I'm a little loathed to do for something so small:
I'd appreciate any feedback on the correctness of the code/tests.
> Yes, I discovered that shortly after sending the email; prompting me > to write the following function, rather than take on an external > dependency, which I'm a little loathed to do for something so small:
Agreed. I usually copy/paste bits into other projects, for example: