我正在使用HTTPie向我的本地Wordpress安装执行POST
请求,目的是检查XML-RPC是否可用并启用。
http --verify=no POST https://crmpicco.localhost/xmlrpc.php data="<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>wp.getUsersBlogs</methodName><params><param><value>admin</value></param><param><value>pass</value></param></params></methodCall>"
这会返回一个200
,但是响应有一个faultCode:
HTTP/1.1 200 OK
Connection: close
Content-Length: 403
Content-Type: text/xml; charset=UTF-8
Date: Fri, 08 Mar 2019 03:18:43 GMT
Server: Apache/2.4.35 (Unix) OpenSSL/1.0.2p PHP/7.2.11
X-Powered-By: PHP/7.2.11
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>-32700</int></value>
</member>
<member>
<name>faultString</name>
<value><string>parse error. not well formed</string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>
有这个问题的其他人指出php-xml
扩展名不可用,但是当我做php -m | grep -i xml
时,它显示为已安装:
libxml
SimpleXML
xml
xmlreader
xmlrpc
xmlwriter
我错过了什么?
我不得不为此使用cURL。我不确定我在HTTPie中究竟做错了什么,或者在这方面是否有限制,但是它与cURL合作:
curl -k -d '<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>wp.getUsersBlogs</methodName><params><param><value>user</value></param><param><value>pass</value></param></params></methodCall>' https://crmpicco.localhost/xmlrpc.php