Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to resolve HTTP/1.1 400 Bad Request in curl php

Tags:

php

curl

I have to hit one .aspx page url from php code i am trying to hiting using curl but i am getting bellow error and there is no white space in url.

HTTP/1.1 400 Bad Request Content-Type: text/html; charset=us-ascii Server: Microsoft-HTTPAPI/2.0 Date: Mon, 05 Oct 2015 08:31:13 GMT Connection: close Content-Length: 311 

Bellow is the code of curl which i am trying to hit.so any body will tell why iam getting this error.

$api_url = 'http://www.test/xyz/OnlineOrder.aspx?';
     $url= $api_url . 'InvoiceNo=' . $invoice;
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_HEADER, 1);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     echo $data = curl_exec($ch);
     echo $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
like image 656
Sanjay Nakate Avatar asked Oct 05 '15 08:10

Sanjay Nakate


2 Answers

I got the Http response 200 ok I have observed carefully the url and i found one parameter with white space that was cause the Bad request.Any way if you got some thing like problem remove the white space from url and there parameter.

using urlencode($url);

like image 104
Sanjay Nakate Avatar answered Sep 25 '22 23:09

Sanjay Nakate


If it help anyone, my issue is I have to use POST method in curl but no POST parameters has been require, as API grab value from URL query string only. So, passing empty array in POSTFIELDS fixed my problem. My guess is it depends on Apache/PHP setting on server, whether it allows POST request without post parameters or not.

like image 30
softech Avatar answered Sep 21 '22 23:09

softech