Re: HTTP Authentication [ SOLVED ]
| From: | Andrew Ballard | Date: | Wed, 19 Nov 2008 18:43:12 +0000 |
| Subject: | Re: HTTP Authentication [ SOLVED ] | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-283557@lists.php.net to get a copy of this message | ||
On Wed, Nov 19, 2008 at 12:47 PM, Thiago H. Pojda
<thiago.pojda@gmail.com> wrote:
> On Wed, Nov 19, 2008 at 12:15 PM, Andrew Ballard <aballard@gmail.com> wrote:
>>
>> On Wed, Nov 19, 2008 at 9:26 AM, Thiago H. Pojda <thiago.pojda@gmail.com>
>> wrote:
>> > Guys,
>> >
>> > I have to access a WS that uses HTTP auth directly with PHP.
>> >
>> > I've tried using the usual
>> > http://user:pw@example.com/ but I couldn't
>> > get it
>> > working. I believe it has something to do with the password containing a
>> > #
>> > (can't change it) and the browser thinks it's an achor or something.
>> >
>> > All I've seen were scripts to implement HTTP Auth in PHP, nothing about
>> > actually logging in with PHP.
>> >
>> > Is it possible to send the authentication headers the first time I
>> > access
>> > the link? I could send all necessary headers to the page I'm trying to
>> > access and retrieve it's content at once.
>> >
>> >
>> > Thanks,
>> > --
>> > Thiago Henrique Pojda
>> >
>>
>> You're passing the username and password as part of a URL, so
>> shouldn't the username and password be urlencoded? I'm thinking it
>> will work if you replace the '#' sign with %23.
>>
>> Andrew
>
> I only tried thworing urlencode on everything, which obviously didn't work.
>
> Both ways worked, using %23 for '#' and the snippet from Nathan.
>
>
> Thanks a lot everyone, I was about to build all the headers and stuff :P
>
> Regards,
> --
> Thiago Henrique Pojda
>
Yes. If you go that route, you have to separately urlencode each piece
of data rather than the whole URL because you don't want the valid
delimiters like the colon, @ symbol, slashes, etc. to get encoded.
Andrew