But when I runing the widget local, it always shows "disconnect, widget closed". I can't do anything.
This isn't very helpful.
Try making a simple request from your widget on your tv to your local web server and tail the logs. That should at least let you know that you're hitting the server. You're adding another layer with XML-RPC, so first try to isolate the moving parts by simplifying.