Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
wp_remote_request not telling me the 301'd URL
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  17 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Scott Kingsley Clark  
View profile  
 More options Feb 28 2011, 4:37 am
From: Scott Kingsley Clark <sc...@skcdev.com>
Date: Mon, 28 Feb 2011 01:37:53 -0800 (PST)
Local: Mon, Feb 28 2011 4:37 am
Subject: [wp-hackers] wp_remote_request not telling me the 301'd URL

So with a site setup using alternative permalink structures (rather than the
default ?p=X), when you go to a URL with that ?p=X on it, it will redirect
you to the correct URL. What I'm seeing though is while my browser may do
this, and headers checks appear to do this, the wp_remote_request returns a
200 and the content of the final URL. If I set the $options array to set
'redirection' to 0, then I get a WP_Error, neither of which tell me the new
URL. I tried to get the information from wp_remote_request, through the
'response' / 'headers' keys of the returned array.

Anyone have any tips on how to use wp_remote_request AND get the destination
URL?

-Scott Kingsley Clark

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dion Hulse (dd32)  
View profile  
 More options Feb 28 2011, 7:41 am
From: "Dion Hulse (dd32)" <wordpr...@dd32.id.au>
Date: Mon, 28 Feb 2011 23:41:12 +1100
Local: Mon, Feb 28 2011 7:41 am
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL
wp_remote_head() will ignore redirects entirely (ie. it returns the headers
of the exact url you request.)
wp_remote_get() will treat a max-redirections-exceeded as a failed request,
which makes sense under normal situations. However, returning a "normal"
style return in the WP_Error error_data field may make life easier for
developers..

On 28 February 2011 20:37, Scott Kingsley Clark <sc...@skcdev.com> wrote:

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Kingsley Clark  
View profile  
 More options Feb 28 2011, 12:06 pm
From: Scott Kingsley Clark <sc...@skcdev.com>
Date: Mon, 28 Feb 2011 09:06:01 -0800 (PST)
Local: Mon, Feb 28 2011 12:06 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL

Not sure if anyone knows this, but does the page get loaded twice or is the
second time getting loaded from some sort of cache? I'm specifically calling
to the idea of using wp_remote_head on a URL to check for a redirect, and
then using wp_remote_request on the same URL to get the content / etc.

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dion Hulse (dd32)  
View profile  
 More options Feb 28 2011, 6:11 pm
From: "Dion Hulse (dd32)" <wordpr...@dd32.id.au>
Date: Tue, 1 Mar 2011 10:11:22 +1100
Local: Mon, Feb 28 2011 6:11 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL
2 separate requests will be 2 separate requests.
What's the use-case you're working on here?
Personally, I'd do a normal fetch, followed by a head if it was a
exceeded-redirects error if you want the body, otherwise, the url..
But i cant think of a case where you'd want one or the other..

On 1 March 2011 04:06, Scott Kingsley Clark <sc...@skcdev.com> wrote:

> Not sure if anyone knows this, but does the page get loaded twice or is the
> second time getting loaded from some sort of cache? I'm specifically
> calling
> to the idea of using wp_remote_head on a URL to check for a redirect, and
> then using wp_remote_request on the same URL to get the content / etc.
> _______________________________________________
> wp-hackers mailing list
> wp-hack...@lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Kingsley Clark  
View profile  
 More options Feb 28 2011, 6:22 pm
From: Scott Kingsley Clark <sc...@skcdev.com>
Date: Mon, 28 Feb 2011 15:22:42 -0800 (PST)
Local: Mon, Feb 28 2011 6:22 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL

Actually, this is in regards to a plugin I'm currently developing. It's in
Beta right now but it's available on WP.org. It's called Search Engine and
it's like a mini-Google on your site. It spiders your site (or other sites
too) and indexes content into the DB.

http://wordpress.org/extend/plugins/search-engine/

<http://wordpress.org/extend/plugins/search-engine/>The use-case is that I
want to be able to tell whether a page that's linked to on a site, is really
redirected elsewhere. Right now, since I switched to wp_remote_request, I
only get the content of the final destination page, without any knowledge of
the path it's taken. So the best my script (or any script) can tell is that
when you get content using wp_remote_request and it's redirected, there page
exists at the URL requested -- oblivious to the real redirect happening.
Previously I was using a home-brewed version similar
to wp_remote_request but calling cURL and others manually).

So it looks like right now I'll need to do a little extra code to make my
own wp_remote_request like function which does both the 301/302 redirect
headers check and the body content return.

-Scott

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jacob Santos  
View profile  
 More options Feb 28 2011, 6:28 pm
From: Jacob Santos <wordpr...@santosj.name>
Date: Mon, 28 Feb 2011 17:28:54 -0600
Local: Mon, Feb 28 2011 6:28 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL
Not really. The wp_remote_request simply defaults to GET, you can change it
to be HEAD, which is what it seems like you are wanting anyway. You can
check to see if it is a redirect and then send another request. It does not
sound like speed is a concern (albeit one factor since many sites can quite
frankly get up there with the amount of redirects given Canonical URLs might
give you (Hint: Should be at most 2 requests, one for the redirect and one
for the actual page).

You'll probably want to use wp_remote_head() instead, since
wp_remote_request() is a generic function made to accommodated the rest of
the HTTP and HTTP extensions (there isn't any built-in calls support for
Subversion or webdav).

Jacob Santos

On Mon, Feb 28, 2011 at 5:22 PM, Scott Kingsley Clark <sc...@skcdev.com>wrote:

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Kingsley Clark  
View profile  
 More options Feb 28 2011, 6:31 pm
From: Scott Kingsley Clark <sc...@skcdev.com>
Date: Mon, 28 Feb 2011 15:31:12 -0800 (PST)
Local: Mon, Feb 28 2011 6:31 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL

The spidering process can really take a lot of time for a large site, and
can end up eating resources and adding time to the infamous php
max_execution_time so I was looking to cut corners. If I've gotta do two
requests to do this, I'll do it. Thanks for the advice and attention.

-Scott

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Edward de Leau  
View profile  
 More options Mar 11 2011, 3:09 pm
From: Edward de Leau <e...@leau.net>
Date: Fri, 11 Mar 2011 21:09:39 +0100
Local: Fri, Mar 11 2011 3:09 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL
I have implemented manual redirection for the wp-favicons plugin here:
http://plugins.trac.wordpress.org/browser/wp-favicons/trunk/includes/...

(part of next version 0.5.1 where a mouseover over a redirect/tiny url shows
the url it redirects to)
I redirect 5 times max.

e.g. (1) nu.nl (301) ---> (2) www.nu.nl (200) --> (3)
www.nu.nl/images/favicon.ico (200)

I needed the manual redirection because I needed the base_href when no
base_href is given in the HTML source.
I then need the redirected URI to use that as base_href

Code is not completely done since a use case like:

e.g. (1) newscred.com (301) --> (2) http://platform.newscred.com (200) (look
in page) --> (3) http://newscred.com/favicon.ico (301) (wtf? redirect of
content in page) -->
(4) http://newspapers.newscred.com/favicon.ico (200) --> (5)
http://newspapers.newscred.com//media/img/favicon.ico (200)

does not work yet since this site gives 4 as redirect url while (4) is
actually a page. So i need to add another check for binary content in the
beginning.

But for all none favicon self-redirection this should work.

On Tue, Mar 1, 2011 at 12:31 AM, Scott Kingsley Clark <sc...@skcdev.com>wrote:

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Otto  
View profile  
 More options Mar 11 2011, 3:29 pm
From: Otto <o...@ottodestruct.com>
Date: Fri, 11 Mar 2011 14:29:37 -0600
Local: Fri, Mar 11 2011 3:29 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL
Two things:

1. Don't use "Http" as a class name. Seriously, prefix *everything*:
http://andrewnacin.com/2010/05/11/in-wordpress-prefix-everything/

2. Why not just extend the WP_Http class instead to support what you
want it to support? Seems like you went the super-long-way-around
here.

-Otto

On Fri, Mar 11, 2011 at 2:09 PM, Edward de Leau <e...@leau.net> wrote:

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Edward de Leau  
View profile  
 More options Mar 11 2011, 4:06 pm
From: Edward de Leau <e...@leau.net>
Date: Fri, 11 Mar 2011 22:06:55 +0100
Local: Fri, Mar 11 2011 4:06 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL
Thanks for the comments, need to do work on it :)

1)     .....  I DO prefix: see line 1: namespace leau\co\wp_favicons; (!)
  that is why namespaces have been created :)

  (makes it easy to create the plugins)

Many of the functionality blocks are dynamically namespaced :

              foreach ($all_plugins as $module_key => $module_value)
 {
foreach ($module_value as $plugin_key => $plugin_value)
{
 $class_name = 'leau\\co\\wp_favicons\\' .
$module_key . "_" . $plugin_key;

$this->pluginObjects[$n] = new $class_name;
$this->pluginObjects[$n]->Activate($module_key,$plugin_key);
 add_action(Config::GetPluginSlug() . $module_key .
'_plugins', array($this->pluginObjects[$n],
 'AddAdminOption'), 1, 10);
$n++;

}

 }

:)

2) extending the HTTP Class : i don't know yet where this plugin will lead
me in terms of functionality.
    my request-chain does not stop at a 200.

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Otto  
View profile  
 More options Mar 11 2011, 4:12 pm
From: Otto <o...@ottodestruct.com>
Date: Fri, 11 Mar 2011 15:12:36 -0600
Local: Fri, Mar 11 2011 4:12 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL
On Fri, Mar 11, 2011 at 3:06 PM, Edward de Leau <e...@leau.net> wrote:

> Thanks for the comments, need to do work on it :)

> 1)     .....  I DO prefix: see line 1: namespace leau\co\wp_favicons; (!)
>  that is why namespaces have been created :)

>  (makes it easy to create the plugins)

Ugh. Using namespaces in PHP is bad mojo. Mostly because PHP defined
them to be as ugly as possible (seriously, backslashes?), but mainly
because PHP versions under 5.3.0 don't support them. WordPress is only
upping the requirement to PHP 5.2, and as you can see from the stats,
85% of people are running 5.2: http://wordpress.org/about/stats/

-Otto
_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Edward de Leau  
View profile  
 More options Mar 11 2011, 4:49 pm
From: Edward de Leau <e...@leau.net>
Date: Fri, 11 Mar 2011 22:49:27 +0100
Local: Fri, Mar 11 2011 4:49 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL
1. backslashes are ugly : yes i posted the same blogcomments on it grin but
... at least they are now here. And they are really
needed functionality despite the look. Prefixes are there because PHP did
not have namespaces like other programming
languages. Seriously : ask plugin writers to create a unique prefix in front
of EVERY class and global ?? That is probably
even more uglier than the backslash :). A C# or Java developer would think
wtf. That is a workaround
for simply namespace \com\google\pluginA at the top of every file. Compare
phpdoc @package WordPress and @package whatever in plugins. That is the same
principle.

Without namespaces (the thousands of plugins and themes around WordPress *
the amount of classes, functions and globals etc.. ) = tens of thousands of
objects (!!) they use are in potential danger of naming conflicts..... with
namespaces... there is none (if people use their domain as part of the
namespace).

2. only supported in 5.3 and upwards: I think that is a host problem.
{ many hosts do support 5.3 but it requires a line in the .htaccess to use
that bin dir}
PHP 5.3 ... uhm what 2/3 years old? IF 85% of the hosts are now on 5.2 then
probably the majority of them have a
switch to try 5.3 from another bin. If people don't use that switch its
probably because there was no reason to. If they
find a plugin that needs it they turn on the switch, so I think that is a
bit chicken and egg. But you are right the plugin will
have a smaller audience. Then again by the time it is out of beta we are on
php 7.5 :)

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Otto  
View profile  
 More options Mar 11 2011, 4:57 pm
From: Otto <o...@ottodestruct.com>
Date: Fri, 11 Mar 2011 15:57:51 -0600
Local: Fri, Mar 11 2011 4:57 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL
On Fri, Mar 11, 2011 at 3:49 PM, Edward de Leau <e...@leau.net> wrote:

> 2. only supported in 5.3 and upwards: I think that is a host problem.
> { many hosts do support 5.3 but it requires a line in the .htaccess to use
> that bin dir}
> PHP 5.3 ... uhm what 2/3 years old? IF 85% of the hosts are now on 5.2 then
> probably the majority of them have a
> switch to try 5.3 from another bin.

Brother, most of them are only now switching away from PHP 4.
Seriously, on most hosting systems I've used, PHP 4 is the default.
There's usually a switch to enable PHP 5, but that's the best you can
find.

At this rate, you'll start seeing PHP 6 support on hosts in about 2023.

-Otto
_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Edward de Leau  
View profile  
 More options Mar 11 2011, 5:37 pm
From: Edward de Leau <e...@leau.net>
Date: Fri, 11 Mar 2011 23:37:25 +0100
Local: Fri, Mar 11 2011 5:37 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL
well... < PHP 5.2 or < 5.3 and WordPress Support EOL is I think a duplicate
of :
http://wpdevel.wordpress.com/2010/07/09/suggest-topics-for-the-july-1...

Now we are 0.5 year later and I see support with most big shared hosting
ones: mediatemple, dreamhost, A1, lunarpages, host gator, etc... etc..

So I think the decision to go from EOL for anything earlier than 5.2 to the
same discussion EOL for anything earlier than 5.3 will be earlier than 2032
:)

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jacob Santos  
View profile  
 More options Mar 11 2011, 10:50 pm
From: Jacob Santos <wordpr...@santosj.name>
Date: Fri, 11 Mar 2011 21:50:33 -0600
Local: Fri, Mar 11 2011 10:50 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL
1. Check content-type, if exists. If it is "text/html" then run the filter
to get the favicon.ico.

2. Oh my god, who would have thought an use case like this would have come
up?

3. You need to look for "Refresh" header as well. Some web servers (IIS)
will send Refresh instead of Location as well as web sites with a redirect
message for systems that do not support redirects.

Jacob Santos

On Fri, Mar 11, 2011 at 2:09 PM, Edward de Leau <e...@leau.net> wrote:

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Edward de Leau  
View profile  
 More options Mar 11 2011, 11:07 pm
From: Edward de Leau <e...@leau.net>
Date: Sat, 12 Mar 2011 05:07:14 +0100
Local: Fri, Mar 11 2011 11:07 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL
thanks!

On Sat, Mar 12, 2011 at 4:50 AM, Jacob Santos <wordpr...@santosj.name>wrote:

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Edward de Leau  
View profile  
 More options Mar 23 2011, 1:39 pm
From: Edward de Leau <e...@leau.net>
Date: Wed, 23 Mar 2011 18:39:12 +0100
Local: Wed, Mar 23 2011 1:39 pm
Subject: Re: [wp-hackers] wp_remote_request not telling me the 301'd URL
As an update for those who find this via Google and are also looking on how
to work with redirects and getting information on where you were redirected
to:

1)
http://plugins.trac.wordpress.org/browser/wp-favicons/trunk/includes/...
basically
works incl. in-page javascript redirects and http meta redirects (manual
redirect so redirect=0) - whatever you throw it will return a favicon IF it
exists. but.............

2) there is one open issue:
https://core.trac.wordpress.org/ticket/16855#comment:29  (for Curl
FOLLOWLOCATION
must be set to false) (and other like wise new parameter) --> in my testset
: 500 out of 1500 URLS get me the message "Too many redirects"
................ (!) (I dont think anyone ever used redirect=0)

3) but since the only reason why one would want to set redirect to 0 =
knowing where we are heading to first ( at least that is what I think and
since there is the missing feature in #2 apparently noone could have used it
anyway in any succes):  https://core.trac.wordpress.org/ticket/16950 which
would work independent of (2) makes the code of (1) for a great part not
necessary and simply requests that URL that is forwarded to with redirects
as normal.

one addition: Im thinking to drop the HEAD requests first as suggested
earlier. Too many cases where we have first a 200 then a 301/302 or a 405
method not allowed (the HEAD) etc... and only do gets. I have to run that
through some more tests.

On Sat, Mar 12, 2011 at 5:07 AM, Edward de Leau <e...@leau.net> wrote:

_______________________________________________
wp-hackers mailing list
wp-hack...@lists.automattic.com
http://lists.automattic.com/mailman/listinfo/wp-hackers

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »