<?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。
答案 0 :(得分:3)
我看到了很多。通常通过urlencode()运行请求来修复。
答案 1 :(得分:1)
尝试使用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
安全地逃脱了他们。
答案 2 :(得分:0)
您在$request
的作业结尾处追加$url
,但未向我们展示$request
包含的内容。
有可能$request
的最终结果是使URL无效。
如果您打算像这样附加&
,我希望至少在硬编码的URL字符串末尾看到$request
(尽管@ MichaelKrelin-hacker指出,这不太可能成为这个特定错误的来源。)