HOWTO Use the Dreamwidth API
DW endpoint: "https://www.dreamwidth.org/interface/xmlrpc"
Invoke  LJ.XMLRPC.getchallenge on the endpoint, receiving something like...
"auth_scheme" :STRING "c0"
"server_time" :INTEGER <epoch time>
"challenge" :STRING "c0:1416283200:2410:60:4QoGWOXV0uB9gBaZ0LB0:5a1901a0feccabcb30fbe6e85878f758")
"expire_time" :INTEGER <epoch time>))
Pick challenge out, md5_hex[0] the challenge concatenated with
the md5_hex of the account password; call the result response.
response = md5(concat(challenge, md5(password)))
Then, for function in the API, invoke LJ.RPC.function using auth_method = challenge and
auth_response = response.
Proceed as appropriate for said function
[0] .. digest in hexadecimal form. The length of the returned string
will be 32 and it will only contain characters from this set:
'0'..'9' and 'a'..'f'.