Re: cURL - Error 400

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 17, 2009 at 12:41 AM, David <quick.webmaster@xxxxxxxxx> wrote:
> On Thu, Apr 16, 2009 at 11:48 PM, haliphax <haliphax@xxxxxxxxx> wrote:
>
>> On Wed, Apr 15, 2009 at 9:17 PM, David <quick.webmaster@xxxxxxxxx> wrote:
>> > Except I also need to POST data to the server to login. After I've logged
>> > in, I then need to use cookies to maintain a session.
>> >
>> > Doing that via file_get_contents() just isn't possible.
>> >
>> >
>> > Thanks
>> >
>> > On Thu, Apr 16, 2009 at 2:30 AM, haliphax <haliphax@xxxxxxxxx> wrote:
>> >>
>> >> On Wed, Apr 15, 2009 at 10:36 AM, David <quick.webmaster@xxxxxxxxx>
>> wrote:
>> >> > I was wondering if anyone could please help me with this cURL script
>> >> > since I
>> >> > keep getting error 400 from the web server:
>> >> >
>> >> > http://pastebin.ca/1392840
>> >> >
>> >> > It worked until around a month ago which is when they presumably made
>> >> > changes to the site. Except I can't figure out what configuration
>> option
>> >> > in
>> >> > the cURL PHP script needs to be changed. I can visit the site
>> perfectly
>> >> > in
>> >> > Lynx, Firefox and IE.
>> >>
>> >> Are you just trying to get the contents of the page, or is there
>> >> something special you're doing? If it's just the contents you're
>> >> after, try file_get_contents() if allow_url_fopen is set to TRUE for
>> >> your PHP installation.
>> >>
>> >> http://php.net/file_get_contents
>> >> http://php.net/allow_url_fopen
>>
>> David, please refrain from top-posting.
>>
>> As for cURL login/session handling... I have an automated script that
>> connects to a phpBB bulletin board, and here are the settings that
>> have worked for me:
>>
>> curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
>> curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
>> curl_setopt($ch, CURLOPT_COOKIESESSION, true);
>> curl_setopt($ch, CURLOPT_HEADER, false);
>> curl_setopt($ch, CURLOPT_COOKIEFILE, "{$homedir}cookiefile");
>> curl_setopt($ch, CURLOPT_COOKIEJAR, "{$homedir}cookiefile");
>> curl_setopt($ch, CURLOPT_COOKIE, session_name() . '=' . session_id());
>>
>> I would think CURLOPT_FOLLOWLOCATION and the CURLOPT_COOKIE* options
>> are most important for resolving your issue.
>>
>> HTH,
>>
>>
>> --
>> // Todd
>>
>

> Hi,
>
> Sorry, that didn't work. The website is still returning error 400 with
> CURLOPT_COOKIESESSION and CURLOPT_COOKIE enabled.
>
> I did some experimentation in Firefox by blocking and deleting all cookies
> from the site. When I then visited the site, I was able to reach the logon
> page without returning error 400 so I doubt it's cookies that is the
> problem.
>
> I also tried changing the HTTP headers to:
>
> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> Connection: Keep-Alive
> Content-Type: text/html; charset=UTF-8
>
> Which didn't work either.
>
>
>
>
> Thanks
>

Does the site require a valid HTTP_REFERER? I haven't seen
CURLOPT_REFERER in any of your examples. (If I missed it somewhere,
just ignore the noise.)

Andrew

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux