On 14. November 2013 at 03:04:22, Hank Knight ([email protected]) wrote: > > What is wrong with this?
The main error is that you’re not using `curl -v…` by default. If so you’d see: curl -vkX -u nlbdmobz\%40sharklasers.com:password123 POST https://zqzqzqz555.couchappy.com/urls -d "{}" -H "Content-Type: application/json" * Rebuilt URL to: nlbdmobz%40sharklasers.com:password123/ * Adding handle: conn: 0x7f962981ba00 * Adding handle: send: 0 * Adding handle: recv: 0 * Curl_addHandleToPipeline: length: 1 * - Conn 0 (0x7f962981ba00) send_pipe: 1, recv_pipe: 0 * Could not resolve: nlbdmobz%40sharklasers.com (Could not contact DNS servers) * Closing connection 0 Aha!!! > curl -kX -u [email protected]:password123 POST \ > https://zqzqzqz555.couchappy.com/urls \ > -d "{}" -H "Content-Type: application/json" > > I get an error: > curl: (6) Couldn't resolve host 'sharklasers.com:password123' > > I think the problem is because of the @ in the username. How can > this be fixed? > > The database, username and password in the example above are > all real > so you may test it verbatim. > > Thanks! The error message is insightful (once you know what you’re looking for!) couldn't resolve host 'sharklasers.com:password123’ Your curl parameters are in the wrong order, and what you think is being used as the arguments to -u are being picked up by the -X parameter first, and parsed as the hostname. Fix that and it works. I find with curl & couchdb you need to split out auth from other operations, i.e. get auth working with GET /, and then add in your posts or views. Also for console testing of couchdb, I highly recommend the amazing http://httpie.org/ python tool: ```shell $ pip install httpie $ http --verify=no --json --pretty all --verbose --style fruity \ --auth-type basic --auth [email protected]:password123 \ get https://zqzqzqz555.couchappy.com/ GET / HTTP/1.1 Accept: application/json Accept-Encoding: gzip, deflate, compress Authorization: Basic bmxiZG1vYnpAc2hhcmtsYXNlcnMuY29tOnBhc3N3b3JkMTIz Content-Type: application/json; charset=utf-8 Host: zqzqzqz555.couchappy.com User-Agent: HTTPie/0.8.0-dev HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 151 Content-Type: application/json Date: Thu, 14 Nov 2013 08:42:49 GMT Server: CouchDB/1.3.0 (Erlang OTP/R15B01) { "couchdb": "Welcome to Couchappy", "uuid": "040ec65fed39bc70c14f8f7dc1a0c8b6", "vendor": { "name": "www.couchappy.com", "version": "1.3.0" }, "version": "1.3.0" } ``` Now you can add in your POST parameters safely. A+ Dave
