Req #67090 [Opn->Nab]: 16953 post data variable maximum

From: Date: Thu, 17 Apr 2014 07:14:35 +0000
Subject: Req #67090 [Opn->Nab]: 16953 post data variable maximum
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-185316@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=67090&edit=1 ID: 67090 Updated by: ab@php.net Reported by: trevor at ridgebizdev dot com Summary: 16953 post data variable maximum -Status: Open +Status: Not a bug Type: Feature/Change Request Package: HTTP related Operating System: Windows7 PHP Version: 5.4.27 Block user comment: N Private report: N New Comment: @trevor at ridgebizdev dot com it's also ugly to post a half baked snippet like that. I've generated the post data for your example like $postdata4 = str_repeat('x', 42000); ignoring all the undefined variables. Also not using proxy, and this works, though despite warnings. C:\php-sdk\php54\vc9\x86\php-src>e:\snaps\php-5.4.21-nts-Win32-VC9-x86\php -n -d extension_dir=e:\snaps\php-5.4.21-nts-Win32-VC9-x86\ext -d extension=php_curl.dll bug67090.php Warning: curl_setopt(): You must pass either an object or an array with the CURLOPT_HTTPHEADER, CURLOPT_QUOTE, CURLOPT_HTTP200ALIASES and CURLOPT_POSTQUOTE arguments in C:\php-sdk\php54\vc9\x86\php-src\bug67090.php on line 16 string(11060) "HTTP/1.1 100 Continue Expires: Thu, 17 Apr 2014 07:09:54 GMT Cache-Control: max-age=0, no-cache, no-store Pragma: no-cache HTTP/1.1 302 Moved Temporarily Content-Type: text/html; charset=utf-8 Location: https://www.budgettruck.com/ErrorCookiesNotEnabled.aspx X-UA-Compatible: IE=edge X-Powered-By: ASP.NET Content-Length: 172 Expires: Thu, 17 Apr 2014 07:09:55 GMT Cache-Control: max-age=0, no-cache, no-store Pragma: no-cache Date: Thu, 17 Apr 2014 07:09:55 GMT Connection: keep-alive Set-Cookie: .ASPXANONYMOUS=nt49352QzwEkAAAAZWFiNmNmY2MtMWZjMy00Mzg5LTk2ZDYtNDFjOWM1OTBiNmEw0; expires=Wed, 25-Jun-2014 17:49:54 GMT; path=/; HttpOnly Set-Cookie: language=en-US; path=/; secure; HttpOnly Set-Cookie: datacenter=ftc HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 X-UA-Compatible: IE=edge X-Powered-By: ASP.NET Expires: Thu, 17 Apr 2014 07:09:56 GMT Cache-Control: max-age=0, no-cache, no-store Pragma: no-cache Date: Thu, 17 Apr 2014 07:09:56 GMT Content-Length: 9664 Connection: keep-alive Set-Cookie: .ASPXANONYMOUS=vtQF4J2QzwEkAAAAYzUzMWQwMGQtOWM5ZS00OGIzLWE1NjUtYTk4MWIzNzA5NTcz0; expires=Wed, 25-Jun-2014 17:49:55 GMT; path=/; HttpOnly Set-Cookie: ASP.NET_SessionId=sks3zs0bvd4oymdlx5xdg1am; path=/; secure; HttpOnly Set-Cookie: 51D=3155378975999999999; expires=Fri, 31-Dec-9999 23:59:59 GMT; path=/; secure; HttpOnly Set-Cookie: datacenter=ftc <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head"> ............................................. and so forth the page ...................................... I think your issue is your proxy or something in the data you send. Please recheck that and post a reliable self enclosed reproduce case. Thanks Previous Comments: ------------------------------------------------------------------------ [2014-04-16 23:09:31] trevor at ridgebizdev dot com Good call. Jeff Li at Ficstar took the app from me after about 10 instances of cat and mouse over 3 years. He's got it, so PHP should be able to, as well... ------------------------------------------------------------------------ [2014-04-16 20:56:52] aharvey@php.net Are you sure this works at all (from outside PHP)? This sounds and looks like a restriction on the www.budgettruck.com side in terms of the length of the cookie or POST data they'll accept, rather than a PHP restriction — the three methods you've described don't share any code, so they shouldn't all fail in the same way unless it's a server side problem. ------------------------------------------------------------------------ [2014-04-16 20:40:31] trevor at ridgebizdev dot com Description: ------------ Based on the nature of this problem, it's ugly to reduce to a single line of code. When ViewState (a session variable) is over 20k, the PHP request languages (cURL, PECL_HTTP, and file_get_contents()) all fail. Test script: --------------- $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_URL, "https://www.budgettruck.com/Pick-Up-Location.aspx"); curl_setopt($ch, CURLOPT_REFERER, "https://www.budgettruck.com/Pick-Up-Location.aspx"); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata4); curl_setopt($ch, CURLOPT_COOKIE, $cookie_str); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 55); curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE); curl_setopt($ch, CURLOPT_HTTPHEADER, $header_r); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla 5.0"); curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_PROXY, "localhost"); curl_setopt($ch, CURLOPT_PROXYPORT,"8888"); $response4 = curl_exec($ch); Expected result: ---------------- $response4 should be the html sourcecode of the "Drop Off Location Page". Actual result: -------------- HTTP/1.1 302 Moved Temporarily Content-Type: text/html; charset=utf-8 Location: https://www.budgettruck.com/Default.aspx?tabid=54&error=An%20unexpected%20error%20has%20occurred&content=0 X-UA-Compatible: IE=edge X-Powered-By: ASP.NET Content-Length: 231 Expires: Wed, 16 Apr 2014 18:36:12 GMT Cache-Control: max-age=0, no-cache, no-store Pragma: no-cache Date: Wed, 16 Apr 2014 18:36:12 GMT Connection: keep-alive Set-Cookie: language=en-US; path=/; secure; HttpOnly Set-Cookie: datacenter=ptc <html><head><title>Object moved</title></head><body> <h2>Object moved to <a href="https://www.budgettruck.com/Default.aspx?tabid=54&amp;error=An%20unexpected%20error%20has%20occurred&amp;content=0">here</a>.</h2> </body></html> ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=67090&edit=1

« previous php.bugs (#185316) next »