Log in

No account? Create an account
LiveJournal Client Discussions [entries|archive|friends|userinfo]
LiveJournal Client Discussions

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Extremely new to this. [Sep. 25th, 2004|07:39 pm]
LiveJournal Client Discussions


So I just started trying to use XML-RPC with LJ today, and this also will be my first time using sockets. My website is PHP based. Anyways, I coded this crappy little attempt to post a message but it doesn't work (which I expected). Could someone help me get started? Here is what I came up with:

$xmlrpc_message = "[?xml version='1.0'?]\n
[value][string]This is a test post.\n


$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (socket_connect($socket, "", 80)) echo "Socket connected?[BR]";

$len = strlen($xmlrpc_message);
$reply = socket_send($socket, $xmlrpc_message, $len, 0x100);
echo $reply;


All the ['s are of course greater and less than signs in the real code. What are some of the many problems with this attempt? Thank you.

[User Picture]From: hyuri
2004-09-26 05:39 pm (UTC)
The Content-Length headers in the examples are quite inaccurate. Assuming that you’re using Windows line‑endings (\r\n, 2 characters), the actual Content-Length value is 141.

Also, despite what the CSP docs show, an empty param element is incorrect here and must be removed, reducing the Content-Length to 119—and since getchallenge has no params, the params element can be disposed of as well, leaving the following:
$xmlrpc_message3 = 'POST /interface/xmlrpc HTTP/1.0
User-Agent: AtomicDen Test Client
Host: www.livejournal.com
Content-Type: text/xml
Content-Length: 99

<?xml version="1.0"?>

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (socket_connect($socket, "", 80)) echo "Socket connected?<BR>";

$len = strlen($xmlrpc_message3);
$length = socket_write($socket, $xmlrpc_message3, $len);
echo $length;
$reply = socket_read($socket, 1000);
echo $reply, "<BR>_______<BR>";
echo $reply->fullname;

As a final note: you should be using test.livejournal.org as your test server, not www.livejournal.com.
(Reply) (Parent) (Thread)
[User Picture]From: 4abudabit
2004-09-26 09:32 pm (UTC)
It worked!!!!

Thank you thank you thank you thank you. You've probably saved me from at least a couple days of work and at least 4 headaches. :J)
(Reply) (Parent) (Thread)
[User Picture]From: 4abudabit
2004-09-27 08:58 pm (UTC)
I thought I had it figured out, but when I try login I don't get a response either:

POST /interface/xmlrpc HTTP/1.0
User-Agent: AtomicDen Test Client 1.0
Host: test.livejournal.org
Content-Type: text/xml
Content-Length: 405

[?xml version="1.0"?]


(Reply) (Parent) (Thread)