

$arr = $data = json_encode ( $arr, JSON_UNESCAPED_SLASHES ) $headers = echo post ( ", $data, $headers ) Just convert data to string, and put in curl_setopt($curl, CURLOPT_POSTFIELDS, $data) 。 Example function post ( $url, $data, $headers ) Submit JSON data wait maximum 1 second for pending promises to resolve $httpClient ->wait( 1.We can do a raw POST with cURL library, which can send text data to server, such as json, xml, html and so on. after you're done with sending several requests, // you must wait for them to complete concurrently // wait for a specific promise to resolve while monitoring them all $response = $promise ->wait() $response ->getStatusCode() Įcho 'Error: '. $promise = $httpClient ->sendAsyncRequest( $request)Įcho 'Got status '. $request = $httpClient ->createRequest( 'GET', '') Use Symfony\ Component\ HttpClient\ HttplugClient Is returned, an exception will be thrown:ģ0 use Psr\ Http\ Message\ ResponseInterface This means that the following request will complete and if e.g. While responses are lazy, their destructor will always wait for headers to comeīack.
Php curl get response body json code#
(but then don't miss checking the status code yourself). If you do not call any of these 3 methods at all, the exception will still be thrownĬalling $response->getStatusCode() is enough to disable this behavior Pass false as the optional argument to every call of those methods, To opt-out from this exception and deal with 300-599 status codes on your own, Throw an appropriate exception, all of which implement the 3xx,Ĥxx or 5xx), the getHeaders(), getContent() and toArray() methods When the HTTP status code of the response is in the 300-599 range (i.e. Exceptions implementing the DecodingExceptionInterfaceĪre thrown when a content-type cannot be decoded to the expected representation.Exceptions implementing the TransportExceptionInterfaceĪre thrown when a lower level issue occurs.Exceptions implementing the HttpExceptionInterfaceĪre thrown when your code does not handle the status codes in the 300-599 range.There are three types of exceptions, all of which implement the returns detailed logs about the requests and responses of the HTTP transaction $httpLogs = $response ->getInfo( 'debug') this returns the final response URL (resolving redirections if needed) $url = $response ->getInfo( 'url') So it seems the problem is how you are using PHPs curl library to POST the data to our API. you can get individual info too $startTime = $response ->getInfo( 'start_time') Hi Patrick, as Gerald said before, your JSON object is indeed valid. returns info coming from the transport layer, such as "response_headers", // "redirect_count", "start_time", "redirect_url", etc.

cancels the request/response $response ->cancel() casts the response content to a PHP stream resource $content = $response ->toStream() casts the response JSON content to a PHP array $content = $response ->toArray() gets the response body as a string $content = $response ->getContent() gets the HTTP headers as string with the header names lower-cased $headers = $response ->getHeaders() Symfony\Contracts\HttpClient\HttpClientInterface $githubClientĪs the type and name of an argument, autowiring will inject the github.clientģ1 $response = $client ->request( 'GET', ' // gets the HTTP status code of the response $statusCode = $response ->getStatusCode() Methods defined by Symfony to choose a specific service.Įach client has a unique service named after its configuration.Įach scoped client also defines a corresponding named autowiring alias. If you use scoped clients in the Symfony framework, you must use any of the Requested URL matches one of the regular expressions set by the scope option. You can define several scopes, so that each set of options is added only if a relative URLs will use the 2nd argument as base URI and use the options of the 3rd argument $client = ScopingHttpClient ::forBaseUri( $client, '', [


the options defined as values apply only to the URLs matching // the regular expressions defined as keys ' => [ $client = new ScopingHttpClient( $client, [ Use Symfony\ Component\ HttpClient\ ScopingHttpClient 30 application/3+json token %env(GITHUB_API_TOKEN)% application/3+json token %env(GITHUB_API_TOKEN)% Ģ3 use Symfony\ Component\ HttpClient\ HttpClient
