[wp-hackers] WP_HTTP deflating small packets
Barry Carlyon
barry at barrycarlyon.co.uk
Wed Mar 2 09:00:20 UTC 2011
Quoting Tim Nash:
>>>> The issue is not with CURL (doing a simple curl request also brings
>>>> the content back even if below 7 characters) the issue is with wp_http
>>>> object automatically inserting extra parameters in the header,
>>>> presumably to aid pushing and pulling large amount of content.
I think its clear he is using the cURL transport.
--------------------------------
Barry Carlyon
Freelance Web Developer
Freelance Lighting/AV Engineer
http://barrycarlyon.co.uk
mobile: 07729 048 443
skype: barrycarlyon
email: barry at barrycarlyon.co.uk
msn: barry at barrycarlyon.co.uk
On 2 Mar 2011, at 06:30, Dion Hulse (dd32) wrote:
> Core Control can indeed show you which transport is in use, but the test
> functions are useless in this context.
>
> On 2 March 2011 17:27, aditya sharma <sharmaaditya333 at gmail.com> wrote:
>
>> You should download the Core Control plugin,
>> http://wordpress.org/extend/plugins/core-control/, and test out the HTTP
>> transports.
>> Warm Regards
>> Aditya Sharma
>>
>>
>>
>>
>> On Wed, Mar 2, 2011 at 4:32 AM, Dion Hulse (dd32) <wordpress at dd32.id.au
>>> wrote:
>>
>>> Yes, WordPress is adding request headers to say what it supports, and it
>>> supports deflating and decompressing the return values.
>>> Now, the question is why it's not working correctly for you.
>>>
>>> The first step is to figure out which HTTP transport is in use, This
>> could
>>> be cURL (but, hopefully it isn't). Throw some debugging in
>>> WP_HTTP::request() and get the class_name() of the actual http transport
>> in
>>> use.
>>>
>>> The 2nd step is being able to reproduce it. Every server will return
>>> content
>>> in a different way, if you can setup a page on a host somewhere (just a
>>> static document) which reliably reproduces it, that would be really good.
>>>
>>> The 3rd step is working out if the extra headers shouldn't be added for
>>> that
>>> transport, or if someone forgot to call the decompression/encoding
>>> functions
>>> on that transport correct, or if the server is simply doing something
>>> strange and not following the spec 100% (Which is very common, most have
>>> their little issues that clients just work around)
>>>
>>> On 2 March 2011 08:00, Tim Nash <tim at newmedias.co.uk> wrote:
>>>
>>>> CURL is working fine, and can we skip the suggest to upload phpinfo
>>>> functions please :) The hint to CURL working fine being strings over 7
>>>> chars long were coming back fine.
>>>>
>>>> The issue is not with CURL (doing a simple curl request also brings
>>>> the content back even if below 7 characters) the issue is with wp_http
>>>> object automatically inserting extra parameters in the header,
>>>> presumably to aid pushing and pulling large amount of content.
>>>>
>>>> Cheers
>>>> Tim
>>>>
>>>> On 1 March 2011 19:27, aditya sharma <sharmaaditya333 at gmail.com>
>> wrote:
>>>>> Can you create a phpinfo page and link that to this post so we can
>> see
>>>>> what's currently configured? Just create a page called phpinfo.php
>>> which
>>>>> contains the following line:
>>>>>
>>>>> <?php phpinfo() ?>
>>>>>
>>>>> And upload it to your site via FTP. This will tell us a little about
>>> how
>>>>> your server is configured and whether or not cURL is enabled.
>>>>>
>>>>> Warm Regards
>>>>> Aditya Sharma
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Mar 1, 2011 at 7:45 PM, Tim Nash <tim at newmedias.co.uk>
>> wrote:
>>>>>
>>>>>> Hi all,
>>>>>> We have been having interesting problem with wp_http simple request
>>>>>> returns either a 1 or an error string.
>>>>>> Problem is instead of return a 1 it appears to be returning a binary
>>>>>> string. If we put more then 7 chars on the page then they are
>> returned
>>>>>> happily.
>>>>>>
>>>>>> $request = new WP_Http;
>>>>>> $result = $request->request($url);
>>>>>> if (is_wp_error($result)) {
>>>>>> return FALSE;
>>>>>> }
>>>>>> if ($result['response']['code'] == 200) {
>>>>>> // success
>>>>>> return $result['body'];
>>>>>> } else {
>>>>>> return FALSE;
>>>>>> }
>>>>>> What's being returned
>>>>>> Array ( [method] => GET [timeout] => 5 [redirection] => 5
>>>>>> [httpversion] => 1.0 [user-agent] => WordPress/3.1;
>>>>>> http://wordpress_dev [blocking] => 1 [headers] => Array (
>>>>>> [Accept-Encoding] => deflate;q=1.0, compress;q=0.5 ) [cookies] =>
>>>>>> Array ( ) [body] => [compress] => [decompress] => 1 [sslverify] => 1
>>>>>> [ssl] => [local] => )
>>>>>>
>>>>>> The weird bit is:
>>>>>> Array ( [0] => Accept-Encoding: deflate;q=1.0, compress;q=0.5 )
>>>>>>
>>>>>> Looking at wp_http this seems to being set and can't be overridden.
>> We
>>>>>> have got round the problem as we are simply changing the return to
>>>>>> pass enough data but thats a hack rather then a solution, wondering
>> if
>>>>>> anyone had come across this problem (that piece of code has been our
>>>>>> work horse for some time so its only a recent thing) and if anyone
>> has
>>>>>> a solution.
>>>>>>
>>>>>> Cheers
>>>>>> Tim
>>>>>>
>>>>>> --
>>>>>> Tim Nash
>>>>>> Technical Director
>>>>>>
>>>>>> Coding Futures Ltd
>>>>>> The Tannery
>>>>>> 91 Kirkstall Road
>>>>>> Leeds
>>>>>> LS3 1HS
>>>>>>
>>>>>> Company House Registration Number: 07350515
>>>>>> Company Registered in England and Wales
>>>>>>
>>>>>> Contact Telephone: +44(0)113 2473850
>>>>>>
>>>>>> The contents of this email is for the named parties, if you have
>>>>>> receieved this email in error please accept our apologises. Unless
>>>>>> separately mentioned the content of the email are considered private
>>>> with
>>>>>> content belonging to the authors.
>>>>>>
>>>>>> NewMedias is a brand for Coding Futures Ltd
>>>>>> _______________________________________________
>>>>>> wp-hackers mailing list
>>>>>> wp-hackers at lists.automattic.com
>>>>>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>>>>>>
>>>>> _______________________________________________
>>>>> wp-hackers mailing list
>>>>> wp-hackers at lists.automattic.com
>>>>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Tim Nash
>>>> Technical Director
>>>>
>>>> Coding Futures Ltd
>>>> The Tannery
>>>> 91 Kirkstall Road
>>>> Leeds
>>>> LS3 1HS
>>>>
>>>> Company House Registration Number: 07350515
>>>> Company Registered in England and Wales
>>>>
>>>> Contact Telephone: +44(0)113 2473850
>>>>
>>>> The contents of this email is for the named parties, if you have
>>>> receieved this email in error please accept our apologises. Unless
>>>> separately mentioned the content of the email are considered private
>> with
>>>> content belonging to the authors.
>>>>
>>>> NewMedias is a brand for Coding Futures Ltd
>>>> _______________________________________________
>>>> wp-hackers mailing list
>>>> wp-hackers at lists.automattic.com
>>>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>>>>
>>> _______________________________________________
>>> wp-hackers mailing list
>>> wp-hackers at lists.automattic.com
>>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>>>
>> _______________________________________________
>> wp-hackers mailing list
>> wp-hackers at lists.automattic.com
>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>>
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
More information about the wp-hackers
mailing list