2

我正在使用 wordpress 的 stats 插件,它在 class-IXR 中使用核心 wordpress 类 IXR_Client。尽管根据文档,它使用 wp-config.php 中的代理配置,但我认为它无法使用与 fsockopen 中相同的主机地址(查看 fsockopen,它应该是代理地址)

我已经修改了 fsockopen 以指向我的代理,它现在确实收到了来自代理的响应,尽管代理日志和代理中出现了“TCP_DENIED/400 4139 POST error:invalid-request - NONE/- text/html”返回错误。我有一种感觉,我没有为代理包装正确的请求。

要求:(有些事情发生了变化)

POST /xmlrpc.php HTTP/1.0 Host: wordpress.com Content-Type: 
text/xml User-Agent: The Incutio XML-RPC PHP Library Content-Length: 1770 <?xml 
version="1.0"?> <methodCall> <methodName>wpStats.check_key</methodName> <params> 
<param><value><string>123456789012</string></value></param> <param><value><struct> 
<member><name>host</name><value><string>thedomainoftheblog.com</string></value></member> 
<member><name>path</name><value><string>/</string></value></member> 
<member><name>admin_bar</name><value><string>1</string></value></member> 
<member><name>wp_me</name><value><string>1</string></value></member> 
<member><name>reg_users</name><value><string></string></value></member> 
<member><name>footer</name><value><string>1</string></value></member> 
<member><name>version</name><value><string>7</string></value></member> 
<member><name>error</name><value><string></string></value></member> 
<member><name>blogname</name><value><string>THE | BLOG NAMEFUL</string></value></member> 
<member><name>blogdescription</name><value><string>blogs name norma 
l</string></value></member><member><name>siteurl</name>
<value><string>http://thedomainoftheblog.com</string></value></member> 
<member><name>gmt_offset</name><value><string>0</string></value></member> 
<member><name>timezone_string</name><value><string></string></value></member> 
<member><name>stats_version</name><value><string>7</string></value></member> 
<member><name>stats_api</name><value><string>jetpack</string></value></member> 
<member><name>page_on_front</name><value><string>0</string></value></member>
<member><name>permalink_structure</name><value>
<string>/%year%/%monthnum%/%day%/%postname%/</string></value></member> 
<member><name>category_base</name><value><string></string></value></member> 
<member><name>tag_base</name><value><string></string></value></member> </struct></value></param> </params></methodCall>

如果您需要更多信息,请告诉我。

干杯

4

2 回答 2

1

诀窍似乎是在 POST 请求中添加http://your.domain.name/(即不仅是 POST/name-of-file,因为 class-IXR.php 默认具有),至少根据以下链接:http ://thedeadone.net/how-to/livejournal-and-wordpress/

我已经尝试过了,它确实有效。

于 2011-07-20T14:57:59.420 回答
0

WP 中有一些与代理相关的常量,以及 wp-includes/class-http.php 中使用的一大堆其他常量。您是否尝试过设置其中的任何一个或全部?例如:

WP_PROXY_HOST
WP_PROXY_PORT
WP_PROXY_USERNAME
WP_PROXY_PASSWORD
WP_PROXY_BYPASS_HOSTS
于 2011-05-15T06:39:05.007 回答