Merge remote-tracking branch 'origin/master'

Change-Id: I1e2564f4a8ed142b07cd314f4e2ed6561bc41b62
This commit is contained in:
rui.zhang 2019-01-09 21:28:53 +08:00
commit a6eb9bf5f1
4 changed files with 43 additions and 25 deletions

View File

@ -22,22 +22,32 @@ WordPress Client是一个Java版的WordPress客户端操作库 主要基于[W
## 创建WordPress操作实例 ## 创建WordPress操作实例
WordPress实例是所有操作的基础。要创建WordPress实例我们需要先创建一个WPConfig实例即WordPress配置对象。WPConfig实例构建方式如下 WordPress实例是所有操作的基础。简单的WordPress实例创建方式如下
```java
WordPress wp = new WordPress(XML_RPC_URL, USERNAME, PASSWORD);
```
* xmlRpcUrlxmlRpc服务端地址WordPress博客的地址通常为**博客地址 + xmlrpc.php**http://www.zhyea.com/xmlrpc.php
* username和password登录WordPress博客后台使用的用户名和密码
也可以通过WPConfig即WordPress配置对象来更精细化地创建WordPress实例。WPConfig实例构建方式如下
```java ```java
WPConfig config = WPConfig config =
new WPConfigBuilder().xmlRpcUrl(XML_RPC_URL) new WPConfigBuilder()
.username(USERNAME) .username(USERNAME)
.password(PASSWORD) .password(PASSWORD)
.xmlRpcUrl(XML_RPC_URL)
.trustAll(true) .trustAll(true)
.connectTimeout(3 * 60 * 1000)
.readTimeout(3 * 60 * 1000)
.build(); .build();
``` ```
不建议也不允许直接构建WPConfig实例正确的方式是通过WPConfigBuilder来完成构建。构建中的几个重要参数如下: 不建议也不允许直接构建WPConfig实例正确的方式是通过WPConfigBuilder来完成构建。构建中的几个参数如下
* xmlRpcUrlxmlRpc服务端地址WordPress博客的地址通常为**博客地址 + xmlrpc.php**如我的博客http://www.zhyea.com/xmlrpc.php * trustAll如博客未启用https可忽略如已启用https建议将之设置为true否则需要导入证书文件后再进行操作
* username和password登录WordPress博客后台使用的用户名和密码 * connectTimeout连接超时时间单位ms
* trustAll如博客未启用https可忽略如已启用https建议将之设置为true否则需要导入证书文件后再进行操作 * readTimeout响应超时时间单位ms
使用WPConfig实例来创建WordPress实例 使用WPConfig实例来创建WordPress实例
@ -103,11 +113,11 @@ getAuthors()方法返回的是用户相关的信息:
``` ```
该方法的返回结果为postId即文章ID。 该方法的返回结果为postId即文章ID。
这里需要注意postName和postTitle。postTitle指的是文章标题postName指的则是文章别名主要在文章的url路径中使用通常建议将postName设置为英文字符。 * 关于postName和postTitlepostTitle指的是文章标题postName指的则是文章别名主要在文章的url路径中使用通常建议将postName设置为英文字符。
setCategories设置的是文章分类如设置的分类在博客中不存在将会按提交的分类名称创建新的分类。 * setCategories设置的是文章分类如设置的分类在博客中不存在将会按提交的分类名称创建新的分类。
setTags设置的是文章标签同样的如标签在博客中不存在将会创建新的标签。 * setTags设置的是文章标签同样的如标签在博客中不存在将会创建新的标签。
更多发布文章的参数可以参考[XML-RPC WordPress API/Posts - newPost](https://codex.wordpress.org/XML-RPC_WordPress_API/Posts#wp.newPost)文档描述。 更多发布文章的参数可以参考[XML-RPC WordPress API/Posts - newPost](https://codex.wordpress.org/XML-RPC_WordPress_API/Posts#wp.newPost)文档描述。
@ -147,7 +157,7 @@ getPosts方法如下
] ]
``` ```
再次啰嗦下正常的返回结果是一个Post实例集合不是json字符串这里使用json字符串只是为了便于展示。如需要获取json结果集可以自行将结果集转为json也可以调用wp-client提供的JsonKit.toJson()进行处理。 再次啰嗦下正常的返回结果是一个Post实例集合不是json字符串这里使用json字符串只是为了便于展示。如需要获取json结果集可以自行将结果集转为json也可以调用wp-client提供的JsonKit.toJson()方法进行处理。
### getPost ### getPost

14
pom.xml
View File

@ -20,6 +20,7 @@
<url>https://github.com/zhyea/wordpress-client</url> <url>https://github.com/zhyea/wordpress-client</url>
<properties> <properties>
<jackson.version>2.9.8</jackson.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
@ -29,20 +30,11 @@
<artifactId>xmlrpc-client</artifactId> <artifactId>xmlrpc-client</artifactId>
<version>3.1.3</version> <version>3.1.3</version>
</dependency> </dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.7</version>
</dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
<version>2.9.7</version> <version>${jackson.version}</version>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -24,6 +24,20 @@ public final class WordPress {
} }
} }
public WordPress(String xmlRpcUrl, String username, String password) {
try {
WPConfig config = new WPConfigBuilder()
.xmlRpcUrl(xmlRpcUrl)
.username(username)
.password(password)
.trustAll(true)
.build();
client = new WPClient(config);
} catch (Exception e) {
throw new WPClientException("Error in creating wp client.", e);
}
}
public UserBlog getUserBlog() { public UserBlog getUserBlog() {
List<UserBlog> list = getUsersBlogs(); List<UserBlog> list = getUsersBlogs();

View File

@ -108,6 +108,8 @@ public class WordPressTest {
.password(PASSWORD) .password(PASSWORD)
.xmlRpcUrl(XML_RPC_URL) .xmlRpcUrl(XML_RPC_URL)
.trustAll(true) .trustAll(true)
.connectTimeout(3 * 60 * 1000)
.readTimeout(3 * 60 * 1000)
.build(); .build();
} }