自己的空间想做一个相册,找来找去用了picasa,功能很方便,唯一不足之处是获取外链太麻烦,一个一个的复制粘贴太辛苦,于是用asp+javascript的方法写了个简单的程序
来与大家分享。稍加改造就可以实现更强大的功能了。
用下面的代码就可以简单的批量导出picasa相册的外链了。
复制代码代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
dim xmlget,xmlhttp,email,paswd
email="youremail" '输入picasa的账户email
paswd="yourpassword" '输入picasa的密码
Set xmlhttp = CreateObject("Msxml2.ServerXMLHTTP")
With xmlhttp
.Open "GET", "https://www.google.com/accounts/ServiceLoginAuth?service=lh2&continue=http://picasaweb.google.com/lh/login?continue=http%3A%2F%
2Fpicasaweb.google.com%2Fhome<mpl=gp&h1=zh_CN&GALX=ip37cq7CgwE&Email="&email&"&Passwd="&paswd, False
'.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
.Send ""
xmlget = getRedirect(bin2str(.responseBody))
.Open "GET", xmlget
.Send ""
xmlget = bin2str(.responseBody)
if request("type")="photo" then
.Open "GET", request("url")
.Send ""
xmlget = bin2str(.responseBody)
xmlget = Replace(xmlget, "pwa.setup", "test2")
else
xmlget = Replace(xmlget, "pwa.setup", "test")
end if
End With
set xmlhttp = nothing
Function bin2str(binstr)
Const adTypeBinary = 1
Const adTypeText = 2
Dim BytesStream,StringReturn
Set BytesStream = Server.CreateObject("ADODB.Stream")
With BytesStream
.Type = adTypeText
.Open
.WriteText binstr
.Position = 0
.Charset = "UTF-8"
.Position = 2
StringReturn = .ReadText
.Close
End With
Set BytesStream = Nothing
bin2str = StringReturn
End Function
Function getRedirect(str)
str = Mid(str, Instr(str, "location.replace"))
str = Mid(str, 19, Instr(str, """)")-19)
str = Replace(str, "/x3d", "=")
getRedirect = Replace(str, "/x26", "&")
End Function
%>
<%
if request("type")<>"photo" then
%>
<script language="javascript"><!--
function test()
{
if(arguments.length != 8)
return;
var html = "<ul>";
var albums = arguments[3];
for (var i=0;i<albums.length;i++)
html+="<li><a href='http://<%=Request.ServerVariables("Server_Name")&Request.ServerVariables("SCRIPT_NAME")%>?type=photo&url="+escape(albums
[i].url)+"'>"+albums[i].title+"</a></li><br/><img src=""+albums[i].src+"" src=""+albums[i].src+""/>";
html+="</ul>";
document.body.innerHTML=html;
}
// --></script>
<%
else
%>
<script language="javascript"><!--
function test2()
{
if(arguments.length != 15)
return;
var html = "<ul>";
var photoes = arguments[6].feedPreload.feed.entry;
for (var i=0;i<photoes.length;i++)
html+="<li>"+photoes[i]["content$src"]+"</li>";
html+="</ul>";
document.body.innerHTML=html;
}
// --></script>
<%
end if
%>
<%=xmlget%>
将上面的代码里picasa的用户名密码改好,保存成ASP文件,放到
服务器下访问,就可以看到效果了。