关注oblog 关注xml-rpc 自己开发客户端小记(2)
来源:asp之家 发布时间:2009-10-04 20:27:00
不想新开帖子,就在本文内进行修改好了,程序基本上已经完成,现在把部分昨天由于记忆不详实的部分内容贴出来,首先是ini操作用的1组函数,很方便的:
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpString As Any, _
ByVal lpFileName As String) As Long
Dim s1, s2, s3, s, i
'以下两个函数,读/写ini文件,节点Node ,in_key为写入/读取的主键
'返回值仅仅针对逻辑值:
'Y:yes,N:no,E:error
Public Function GetIniTF(ByVal IniFile_Name As String, ByVal Node As String, ByVal In_Key As String) As Boolean
On Error GoTo GetIniTFErr
GetIniTF = True
Dim GetStr As String
GetStr = VBA.String(128, 0)
GetPrivateProfileString Node, In_Key, "", GetStr, 256, App.Path & "\" & IniFile_Name
GetStr = VBA.Replace(GetStr, VBA.Chr(0), "")
If GetStr = "1" Then
GetIniTF = True
GetStr = ""
Else
GoTo GetIniTFErr
End If
Exit Function
GetIniTFErr:
Err.Clear
GetIniTF = False
GetStr = ""
End Function
Public Function WriteIniTF(ByVal IniFile_Name As String, ByVal Node As String, ByVal In_Key As String, ByVal In_Data As Boolean) As Boolean
On Error GoTo WriteIniTFErr
WriteIniTF = True
If In_Data = True Then
WritePrivateProfileString Node, In_Key, "1", App.Path & "\" & IniFile_Name
Else
WritePrivateProfileString Node, In_Key, "0", App.Path & "\" & IniFile_Name
End If
Exit Function
WriteIniTFErr:
Err.Clear
WriteIniTF = False
End Function
'以下两个函数,读/写ini文件,不固定节点,in_key为写入/读取的主键
'针对字符串值
'空值表示出错
Public Function GetIniStr(ByVal IniFile_Name As String, ByVal Node As String, ByVal In_Key As String) As String
On Error GoTo GetIniStrErr
If VBA.Trim(In_Key) = "" Then
GoTo GetIniStrErr
End If
Dim GetStr As String
GetStr = VBA.String(128, 0)
GetPrivateProfileString Node, In_Key, "", GetStr, 256, App.Path & "\" & IniFile_Name
GetStr = VBA.Replace(GetStr, VBA.Chr(0), "")
If GetStr = "" Then
GoTo GetIniStrErr
Else
GetIniStr = GetStr
GetStr = ""
End If
Exit Function
GetIniStrErr:
Err.Clear
GetIniStr = ""
GetStr = ""
End Function
Public Function WriteIniStr(ByVal IniFile_Name As String, ByVal Node As String, ByVal In_Key As String, ByVal In_Data As String) As Boolean
On Error GoTo WriteIniStrErr
WriteIniStr = True
If VBA.Trim(In_Data) = "" Or VBA.Trim(In_Key) = "" Or VBA.Trim(Node) = "" Then
GoTo WriteIniStrErr
Else
WritePrivateProfileString Node, In_Key, In_Data, App.Path & "\" & IniFile_Name
End If
Exit Function
WriteIniStrErr:
Err.Clear
WriteIniStr = False
'MsgBox " 1"
End Function
然后确定一下我使用的组件,大家需要的话,可以自己去下载:
PocketSOAP.1.5.4.exe (安装文件)
官方站点 : http://www.pocketsoap.com/
具体的使用帮助可以参考这个 :http://www.pocketsoap.com/pocketHTTP/
接下来的工作就简单了,合成xml,进行发送.
基本的格式如下:
<?xml version="1.0" encoding="utf-8" ?><methodCall>
<methodName>metaWeblog.getRecentPosts</methodName>
<params><param><value>
<string>0</string></value></param>
<param><value><string>user</string></value></param>
<param><value><string>pass</string></value></param>
<param><value><int>3</int></value></param>
</params></methodCall>
单项目发送成功后会返回相应的xml代码,至于处理不处理就是你的问题了,反正我需要的只是发送功能。
发送的匹配字符串是 metaWeblog.newPost
每次发送的时候都要把内容转换为xml再发出去 =。=
程序发布出来玩一下,请慎重使用,被删除id别怪我...
下载地址:
http://www.520hacker.com/LivePage/project/OblogSender/oblog4sender.rar
有问题欢迎交流
QQ 631119 QQ群 435939


猜你喜欢
- 这次做一个比较贴近我实际的东西:python分析作业提交情况。要求: 将服务器中交作业的学生(
- v-for除了可以循环数组,还可以循环对象。例子:<template><div> <div v-for=&qu
- 使用T_SQL创建数据库 TestSchool 创建一个学生表 TblStudent 创建学生成绩表 TblScore q tScoreId
- LNMP一键包安装的Mysql默认开启Mysql日志,如果网站对数据库读写较为频繁的话可能会产生大量日志,并占用磁盘空间,还有可
- Python写一些简单的GUI界面也是非常简单的,并且Python有着丰富的库,这些库可以很方便我们去操作Windows系统,搭配界面,可以
- 使用axios遇到的相对路径和绝对路径问题部分依赖说明:"vue": "^2.5.2","
- 实例一--爬取页面import requestsurl="https//itemjd.com/2646846.html"
- 什么是中间件我们从一个简单的例子开始。高流量的站点通常需要将Django部署在负载平衡proxy之后。 这种方式将带来一些复杂性,其一就是每
- 一、最基础的应用import urllib2url = r'http://www.baidu.com'html = urll
- 1 什么是注释注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释
- 模块:xmllibxmllib 是一个非验证的低级语法分析器。应用程序员使用的 xmllib 可以覆盖 XMLParser 类,并提供处理文
- 来源:在工作过程中,需要统计一些trace信息,也就是一些打点信息,而打点是通过关键字进行的,因此对一个很大的文件进行分析时,想把两个打点之
- 在opencv中,特征检测、描述、匹配都有集成的函数。vector<DMatch> bestMatches;用来存储得到的匹配点
- uWSGI是一个Web应用服务器,它具有应用服务器,代理,进程管理及应用监控等功能。它支持WSGI协议,同时它也支持自有的uWSGI协议,该
- 概述:可以将.py源代码转换成无需源代码的可执行文件(直接就可以运行的程序)因为有的时候Windows,Mac,Linux系统上并没有安装P
- 多线程概述多线程使得程序内部可以分出多个线程来做多件事情,充分利用CPU空闲时间,提升处理效率。python提供了两个模块来实现多线程thr
- Django中每一个模型model都对应于数据库中的一张表,每个模型中的字段都对应于数据库表的列。方便的是,django可以自动生成这些cr
- 本文实例为大家分享了微信小程序实现底部导航带跳转功能的具体代码,供大家参考,具体内容如下index.wxml<!--底部导航 --&g
- 前言本系统是基于fabric.js实现的canvas版图片,文本编辑器,支持对图片的放大,缩小,旋转,镜面翻转,拖动,显示/隐藏图层,删除图
- 我们用下了asp代码简单统计了下载一个文件需要的时间:<%Function DownloadTime(intFileSize