Issue Type: Bug Created: 2007-09-12T08:39:00.000+0000 Last Updated: 2008-03-21T16:25:28.000+0000 Status: Resolved Fix version(s): - 1.5.0 (17/Mar/08)
Reporter: Karol Grecki (antych) Assignee: Shahar Evron (shahar) Tags: - Zend_Http_Client
Related issues: Attachments:
I have code failing with exception like this: Stack trace:
I use http client for functional testing, grabbing requests from apache log and comparing responses. The problem is when a redirect happens and the destination url has malformed query string. It fails on validating the query string, probably because the url is not encoded. I think the client should behave the same as the browsers ale letting this url through. Currently I cannot test the response even when using 'maxredirects' => 0 because the exception is thrown before the request.
Posted by Thomas Weidner (thomas) on 2007-09-12T13:32:55.000+0000
Assigned to Shahar
Posted by Shahar Evron (shahar) on 2007-10-16T20:30:55.000+0000
Can you paste here the URL that the client tries to redirect to? You can do that using such code:
<pre class="highlight"> // Set the first URI and all... $client->setConfig(array('maxredirects' => 0)); $respons = $client->request(); echo $response->getHeadersAsString();
and paste the output here.
Posted by Karol Grecki (antych) on 2007-10-17T03:39:57.000+0000
This snippet will not work as it throws an exception on first ->request(), but it can be tested by commenting out this line //$this->uri->setQuery($query); in Http/Client.php The sample url would look like http://localhost/redirect.php/… bar
It triggers 'Zend_Uri_Exception' with message 'Invalid URI supplied' if I try to connect to it directly using the client. I can understand why it's invalid, the thing is that it's being accepted by browsers. So I think the client should behave the same or at least have a configuration option that would allow this. Also the exception may be thrown prematurely as this url is never requested in my code if I use maxredirects' => 0 so maybe the url validation should be done later before the actual request to redirected url. Hope that helps.
Posted by Shahar Evron (shahar) on 2007-10-17T06:24:01.000+0000
Zend_Uri_Http was fixed to encode query parameters which are not valid.
Should be resolved by revision 6654. If you can verify that, it would help greatly.
Posted by Karol Grecki (antych) on 2007-10-17T09:59:29.000+0000
Confirmed resolved by rev 6654 Thanks Shahar
Have you found an issue?
See the Overview section for more details.