Why am I getting a HTTP 400 bad request error?

14,771

Solution 1

I see this a lot. Usually fixed by running the request through urlencode().

Solution 2

Try building URL with http_build_query as below

$url = 'http://absolutesms.com/Sendsms.aspx?' . http_build_query(array(
    'userid' => $userid,
    'clientid' => $clientid,
///... continue
));

The problem is probably due to unescaped characters that have special meanings in URLs.

http_build_query escapes them for you safely.

Share:
14,771

Related videos on Youtube

user1460815
Author by

user1460815

Updated on June 04, 2022

Comments

  • user1460815
    user1460815 almost 2 years
    <?php
    $url ="http://absolutesms.com/Sendsms.aspx?userid=userid&password=password&clientid=clientid&senderid=absolute&mobilenumber=919000024365&smsmessage=SingleMessage".$request;
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    $curl_scraped_page = curl_exec($ch);
    curl_close($ch);
    echo $curl_scraped_page;
    ?>
    

    After running this code I am getting HTTP Error 400. The request is badly formed. What should I do? I tried other url they are working fine the only problem is with this. If I copy this url in browser it's working but it's giving error 400 when I put it and run it in curl.

  • Michael Krelin - hacker
    Michael Krelin - hacker over 11 years
    The lack of & doesn't make URL invalid, even if it glues the next parameter to the last one. What is most likely to make url invalid is either its size or perhaps some awfully invalid characters.