用asp與php實(shí)現(xiàn)百度ping服務(wù)的代碼
更新時(shí)間:2012年02月04日 14:13:54 作者:
分別用asp與php實(shí)現(xiàn)百度ping服務(wù)的代碼,需要的朋友可以參考下
ASP:
<%
Option Explicit
Response.Buffer = true
Response.ContentType = "text/html"
Response.Charset = "gb2312″
Dim Url, Result
Url = "http://ping.baidu.com/ping/RPC2"
Result = BytesToBstr(SendPing(Url), "gb2312″)
IF Instr(Result, "<int>0</int>") > 0 Then
Response.Write("success")
Else
Response.Write("failure")
End IF
Function SendPing(Url)
Dim s : s = ""
Randomize()
Dim r : r = Int(Rnd() * 9999) + 1000
s = s & "<?xml version=""1.0″" encoding=""gb2312″"?>"
s = s & "<methodCall>"
s = s & "<methodName>weblogUpdates.ping</methodName>"
s = s & "<params>"
s = s & "<param><value><string>開發(fā)網(wǎng)站的一些小技巧</string></value></param>"
s = s & "<param><value><string>http://hi.baidu.com/subendong/blog</string></value></param>"
s = s & "<param><value><string>http://hi.baidu.com/subendong/blog/item/6cd9468d243e8c07b21bba5e.html</string></value></param>"
s = s & "<param><value><string></string></value></param>"
s = s & "</params>"
s = s & "</methodCall>"
Response.Write "<p>發(fā)送Ping到:" & Url & "</p>"
Response.Flush
Dim objPing
Set objPing = Server.CreateObject("MSXML2.ServerXMLHTTP")
objPing.SetTimeOuts 10000, 10000, 10000, 10000
‘第一個(gè)數(shù)值:解析DNS名字的超時(shí)時(shí)間10秒
‘第二個(gè)數(shù)值:建立Winsock連接的超時(shí)時(shí)間10秒
‘第三個(gè)數(shù)值:發(fā)送數(shù)據(jù)的超時(shí)時(shí)間10秒
‘第四個(gè)數(shù)值:接收response的超時(shí)時(shí)間10秒
objPing.open "POST", Url & "?r=" & r, False
objPing.setRequestHeader "Content-Type", "text/xml; charset=gb2312″
objPing.send(s)
SendPing = objPing.ResponseBody
Set objPing = Nothing
End Function
‘===============================================
‘函數(shù)名:BytesToBstr
‘作用:字符集轉(zhuǎn)換
‘參數(shù):body–內(nèi)容;Cset–指定的字符集
‘===============================================
Function BytesToBstr(body, Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
%>
PHP:
<?php
function postUrl($url, $postvar)
{
$ch = curl_init();
$headers = array(
"POST ".$url." HTTP/1.0″,
"Content-type: text/xml; charset=\"gb2312\"",
"Accept: text/xml",
"Content-length: ".strlen($postvar)
);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar);
$res = curl_exec ($ch);
curl_close ($ch);
return $res;
}
$baiduXML = "<?xml version=\"1.0\" encoding=\"gb2312\"?>
<methodCall>
<methodName>weblogUpdates.extendedPing</methodName>
<params>
<param><value><string>腳本之家</string></value></param>
<param><value><string>http://www.dhdzp.com</string></value></param>
<param><value><string>http://www.dhdzp.com/a/15222.html</string></value></param>
<param><value><string>http://www.dhdzp.com</string></value></param>
</params>
</methodCall>";
$res = postUrl(‘http://ping.baidu.com/ping/RPC2′, $baiduXML);
if ( strpos($res, "<int>0</int>") )
{
echo "PING成功";
}
else
{
echo "PING失敗";
}
?>
復(fù)制代碼 代碼如下:
<%
Option Explicit
Response.Buffer = true
Response.ContentType = "text/html"
Response.Charset = "gb2312″
Dim Url, Result
Url = "http://ping.baidu.com/ping/RPC2"
Result = BytesToBstr(SendPing(Url), "gb2312″)
IF Instr(Result, "<int>0</int>") > 0 Then
Response.Write("success")
Else
Response.Write("failure")
End IF
Function SendPing(Url)
Dim s : s = ""
Randomize()
Dim r : r = Int(Rnd() * 9999) + 1000
s = s & "<?xml version=""1.0″" encoding=""gb2312″"?>"
s = s & "<methodCall>"
s = s & "<methodName>weblogUpdates.ping</methodName>"
s = s & "<params>"
s = s & "<param><value><string>開發(fā)網(wǎng)站的一些小技巧</string></value></param>"
s = s & "<param><value><string>http://hi.baidu.com/subendong/blog</string></value></param>"
s = s & "<param><value><string>http://hi.baidu.com/subendong/blog/item/6cd9468d243e8c07b21bba5e.html</string></value></param>"
s = s & "<param><value><string></string></value></param>"
s = s & "</params>"
s = s & "</methodCall>"
Response.Write "<p>發(fā)送Ping到:" & Url & "</p>"
Response.Flush
Dim objPing
Set objPing = Server.CreateObject("MSXML2.ServerXMLHTTP")
objPing.SetTimeOuts 10000, 10000, 10000, 10000
‘第一個(gè)數(shù)值:解析DNS名字的超時(shí)時(shí)間10秒
‘第二個(gè)數(shù)值:建立Winsock連接的超時(shí)時(shí)間10秒
‘第三個(gè)數(shù)值:發(fā)送數(shù)據(jù)的超時(shí)時(shí)間10秒
‘第四個(gè)數(shù)值:接收response的超時(shí)時(shí)間10秒
objPing.open "POST", Url & "?r=" & r, False
objPing.setRequestHeader "Content-Type", "text/xml; charset=gb2312″
objPing.send(s)
SendPing = objPing.ResponseBody
Set objPing = Nothing
End Function
‘===============================================
‘函數(shù)名:BytesToBstr
‘作用:字符集轉(zhuǎn)換
‘參數(shù):body–內(nèi)容;Cset–指定的字符集
‘===============================================
Function BytesToBstr(body, Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
%>
PHP:
復(fù)制代碼 代碼如下:
<?php
function postUrl($url, $postvar)
{
$ch = curl_init();
$headers = array(
"POST ".$url." HTTP/1.0″,
"Content-type: text/xml; charset=\"gb2312\"",
"Accept: text/xml",
"Content-length: ".strlen($postvar)
);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar);
$res = curl_exec ($ch);
curl_close ($ch);
return $res;
}
$baiduXML = "<?xml version=\"1.0\" encoding=\"gb2312\"?>
<methodCall>
<methodName>weblogUpdates.extendedPing</methodName>
<params>
<param><value><string>腳本之家</string></value></param>
<param><value><string>http://www.dhdzp.com</string></value></param>
<param><value><string>http://www.dhdzp.com/a/15222.html</string></value></param>
<param><value><string>http://www.dhdzp.com</string></value></param>
</params>
</methodCall>";
$res = postUrl(‘http://ping.baidu.com/ping/RPC2′, $baiduXML);
if ( strpos($res, "<int>0</int>") )
{
echo "PING成功";
}
else
{
echo "PING失敗";
}
?>
相關(guān)文章
jenkins通過sshPut傳輸文件時(shí)報(bào)錯(cuò)Permission?denied的SftpException的問題及解決
使用jenkins的ssh插件傳輸文件至遠(yuǎn)程機(jī)器的指定目錄,php程序打包后,經(jīng)過zip壓縮為oms.zip,這篇文章主要介紹了jenkins通過sshPut傳輸文件的時(shí)候,報(bào)錯(cuò)Permission?denied的SftpException,需要的朋友可以參考下2023-08-08
typescript?實(shí)現(xiàn)RabbitMQ死信隊(duì)列和延遲隊(duì)列(訂單10分鐘未付歸還庫存)的過程
RabbitMQ作為一款流行的消息隊(duì)列服務(wù),提供了死信隊(duì)列(Dead?Letter?Exchange)功能,能夠有效地處理消息被拒絕、消息過期以及隊(duì)列達(dá)到最大長度等情況,本文將介紹如何利用RabbitMQ的死信隊(duì)列來處理這三種情況,并提供了TypeScript示例代碼,需要的朋友可以參考下2024-03-03
vscode輸入npm?install報(bào)錯(cuò):node-sass@8.0.0?install:'node?
這篇文章主要給大家介紹了關(guān)于vscode輸入npm?install報(bào)錯(cuò):node-sass@8.0.0?install:'node?scripts/install.js'的解決方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
git可視化工具Sourcetree使用全攻略(git沖突解決)
本文主要介紹了git可視化工具Sourcetree使用全攻略,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
基于Jupyter notebook搭建Spark集群開發(fā)環(huán)境的詳細(xì)過程
Jupyter Notebook是一個(gè)開源并且使用很廣泛項(xiàng)目,本文介紹如何基于Jupyter notebook搭建Spark集群開發(fā)環(huán)境,通過實(shí)例截圖相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-10-10

