同时更新Twitter、饭否、嘀咕和做啥
很多微博客(如嘀咕和做啥)和第三方工具(如Hellotxt、Ping.fm)都同时提供了同步到其他微博客的服务,可以同步信息到一些主要的微博客服务,如Twitter、饭否等,但是这些工具都有一个很重要的问题,就是存在密码被盗或泄漏的风险。
目前大多数微博客是通过用户名和密码做为参数进行认证登录,Twitter可使用OAuth协议进行认证,而这些用户名和密码存放在这些同步工具网站上,万一保存不当,就有可能会被黑客获取,带来用户帐号被盗的风险,因此,比较保险的办法是通过自己写的程序来实现微博客的自动同步功能,这样被黑客破解的可能性就小了很多。
我这里写了一个同时更新Twitter、饭否、嘀咕和做啥等微博客的小程序,可以在自己的服务器上实现微博客同时更新功能,为了代码简单,使用时需要这几个服务使用相同的用户名和相同的密码,选中需要同步的微博客,也可勾选掉不想发布的服务,然后输入用户名和密码,发布信息后就会自动同时更新这几个微博客。
程序在线演示在这里: http://www.williamlong.info/twitter/
全部源程序代码如下:
XML/HTML代码
- <%@ CODEPAGE=65001 %>
- <%
- If Request("submit")<>"" Then
- Dim xmlhttp
- Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP")
- Response.Cookies("save_username")=Request("username")
- Response.Cookies("save_username").Expires=Date+365
- Response.Cookies("save_password")=Request("password")
- Response.Cookies("save_password").Expires=Date+365
- username = Request("username")
- password = Request("password")
- post_status = "status=" + server.URLencode(Request("updateStatus"))
- If Request("twitter") = 1 Then
- xmlhttp.Open "POST", "http://" & username & ":" & password & "@twitter.com/statuses/update.xml", False
- xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
- xmlhttp.setRequestHeader "Content-Length", Len(post_status)
- xmlhttp.Send (post_status)
- Response.Write "twitter OK." 'xmlhttp.responseText
- End If
- If Request("fanfou") = 1 Then
- xmlhttp.Open "POST", "http://" & username & ":" & password & "@api.fanfou.com/statuses/update.xml", False
- xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
- xmlhttp.setRequestHeader "Content-Length", Len(post_status)
- xmlhttp.Send (post_status)
- Response.Write "fanfou OK." 'xmlhttp.responseText
- End If
- If Request("digu") = 1 Then
- post_status = "content=" + server.URLencode(Request("updateStatus"))
- xmlhttp.Open "POST", "http://" & username & ":" & password & "@api.digu.com/statuses/update.xml", False
- xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
- xmlhttp.setRequestHeader "Content-Length", Len(post_status)
- xmlhttp.Send (post_status)
- Response.Write "digu OK." 'xmlhttp.responseText
- End If
- If Request("zuosa") = 1 Then
- xmlhttp.Open "POST", "http://" & username & ":" & password & "@api.zuosa.com/statuses/update.xml", False
- xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
- xmlhttp.setRequestHeader "Content-Length", Len(post_status)
- xmlhttp.Send (post_status)
- Response.Write "zuosa OK." 'xmlhttp.responseText
- End If
- Set xmlhttp = Nothing
- response.end
- Else
- %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <meta http-equiv="Content-Language" content="zh-CN" />
- <title>更新状态</title>
- <script language="javascript">
- function countChar(textareaName,spanName)
- {
- document.getElementById(spanName).innerHTML = 140 - document.getElementById(textareaName).value.length;
- }
- </script>
- </head>
- <body>
- <form method="post" action="<%= Request.ServerVariables("URL")%>">
- <p>
- <textarea tabindex="1" id="updateStatus" name="updateStatus" rows="6" cols="40" onkeydown='countChar("updateStatus","counter");' onkeyup='countChar("updateStatus","counter");'></textarea>
- </p>
- <p>
- <label><input tabindex="2" type="submit" id="submit" name="submit" value=" 发 布 " /></label> 可以输入 <span id="counter">140</span> 字
- </p>
- <p>
- <label>用户名:</label>
- <input tabindex="3" type="text" name="username" id="username" value="<%= Request.Cookies("save_username")%>" />
- </p>
- <p>
- <label>密 码:</label>
- <input tabindex="4" type="password" name="password" id="password" value="<%= Request.Cookies("save_password")%>" />
- </p>
- <p>
- <label><input type="checkbox" id="twitter" name="twitter" value="1" checked="checked"> Twitter </label><label><input type="checkbox" id="fanfou" name="fanfou" value="1" checked="checked"> 饭否 </label><label><input type="checkbox" id="digu" name="digu" value="1" checked="checked"> 嘀咕 </label><label><input type="checkbox" id="zuosa" name="zuosa" value="1" checked="checked"> 做啥</label>
- </p>
- </form>
- </body>
- </html>
- <%
- End if
- %>
文章出自 原创文章转载请留出处 http://www.918x.com/index.php
添加收藏:
