Comments (6)
Guzzle follows the PHP convention of suffixing duplicate parameter values with brackets containing an array index (e.g. ?q[0]=a&q[1]=b'
You can override this behavior by specifying a different aggregation function on the query string object owned by the request:
<?php
$client = new \Guzzle\Http\Client();
$request = $client->get("http://example.com/search?q=blah&facet=class&facet=property");
$request->getQuery()->setAggregateFunction(array($request->getQuery(), 'aggregateUsingDuplicates'));
$response = $request->send();
I'm committing a new query string aggregation function that will allow duplicate query string values in a URL. This should fix your issue.
from guzzle.
Was this removed at some point? How would one do it in Guzzle 7?
from guzzle.
The new aggregation method was added in commit f3a5b01
from guzzle.
Im having the same issue, the explanation is not satisfactory because this is what happen:
Fatal error: Call to undefined method Guzzle\Http\QueryString::setAggregateFunction()
I tried doing it with the setAggregator without much success:
$request = $client->get('http://www.google.com/?q=1&q=2');
$request->getQuery()->setAggregator(
new Guzzle\Http\QueryAggregator\DuplicateAggregator()
);
echo $request->getQuery();
q%5B0%5D=1&q%5B1%5D=2
Adding ->useUrlEncoding(false); only makes it look prettier:
q[0]=1&q[1]=2
from guzzle.
How are they bring overwritten? When parsing a string, adding to the query, etc? Be sure to use the add method of the query string and not the set method.
Thanks,
Michael
On Jun 13, 2013, at 9:46 PM, Jorge Muñoz [email protected] wrote:
Im having the same issue, the explanation is not satisfactory because this is what happen:
Fatal error: Call to undefined method Guzzle\Http\QueryString::setAggregateFunction()
I tried doing it with the setAggregator without much success:$request = $client->get('http://www.google.com/?q=1&q=2');
$request->getQuery()->setAggregator(
new Guzzle\Http\QueryAggregator\DuplicateAggregator()
);
echo $request->getQuery();
q%5B0%5D=1&q%5B1%5D=2Adding ->useUrlEncoding(false); only makes it look prettier:
q[0]=1&q[1]=2
—
Reply to this email directly or view it on GitHub.
from guzzle.
what about posting parameters with same name?
from guzzle.
Related Issues (20)
- upgradin to PHP 8 and Guzzle 7. Breaks app HOT 1
- Remove content-type header when a redirect to GET: cURL does and Guzzle doesn't HOT 3
- Host Header HOT 5
- PHP Fatal Error when retrieving certain pages. HOT 4
- Pool promise wait() breaks with guzzlehttp/promises v2 HOT 9
- Intermittent 501 Not Implemented Error Due to Unexpected 'offsetGet' Method in Guzzle Requests HOT 4
- Using `"stream" => true` in options makes PSR7 responses read-once HOT 3
- [DOCS] In online documentation, the request option connect_timeout still says that the default value of 0 waits indefinitely, which was never true HOT 4
- No exception gets thrown on responses with status code >= 400 HOT 1
- http://www.guzzlephp.org displays Indonesian gambling site advert HOT 2
- Organization Information HOT 1
- Can GuzzleHttp be used to listen to a specific event to obtain request body data? HOT 3
- Unable to parse URI in Ipv6 HOT 14
- Document `GuzzleHttp\Client::__construct()` parameters at type level? HOT 3
- endless yield problem HOT 1
- Proxy chain support HOT 1
- Security vulnerabilities in guzzlehttp/psr7 dependency in v6.x HOT 3
- Mistake
- Custom Global Default Config HOT 2
- Supports json to array conversion HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from guzzle.