3
<?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;
?>

运行此代码后,我得到HTTP Error 400. The request is badly formed. 我应该怎么办?我尝试了其他网址,他们工作正常,唯一的问题是这个。如果我在浏览器中复制这个 url,它可以工作,但是当我把它放在 curl 中运行它时,它会给出错误 400。

4

3 回答 3

3

我经常看到这个。通常通过 urlencode() 运行请求来修复。

于 2013-07-14T21:19:33.030 回答
2

尝试使用 http_build_query 构建 URL,如下所示

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

问题可能是由于unescaped characters that have special meanings in URLs.

http_build_query安全地为您逃脱它们。

于 2012-10-13T13:37:45.867 回答
0

$request在作业结束时附加到,$url但您没有向我们展示$request包含的内容。

$request以这种方式附加的值很可能使 URL 无效。

如果您要像这样附加,我希望至少&在硬编码的 URL 字符串的末尾看到 a $request(尽管正如@MichaelKrelin-hacker 指出的那样,这不太可能是这个特定错误的来源)。

于 2012-10-13T13:32:12.830 回答