错误400使用PHP CURL时出现错误请求

时间:2014-07-04 07:51:40

标签: php curl

当我在PHP中CURL时。使用适当的标题和字段但它会给我错误错误400错误请求。为什么会出现此错误?

HTTP/1.0 400 Bad request Cache-Control: no-cache Connection: close Content-Type: text/html
400 Bad request
Your browser sent an invalid request. 1

标头请求

$header[] = "Accept:application/json, text/javascript, */*; q=0.01";
$header[]="Accept-Encoding:gzip, deflate";
$header[] = "Cache-Control:max-age=0";
$header[]= "Accept-Language:en-US,en;q=0.5";
$header[] = "Content-Length:37";
$header[]="Content-Type:application/x-www-form-urlencoded; charset=UTF-8";
$header[]="Cookie:__qca=P0-116849880-1387336057175; __utma=140029553.335591273.1387336057.1389609300.1389617402.102; __utmz=140029553.1389617402.102.89.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); _ga=GA1.2.335591273.1387336057; sgt=id=3380ce36-a139-4845-bd20-5bb3fd4174ec; usr=t=qrthm51g2UyV&s=QtuIYj84zEOR";
$header[]="X-Requested-With:XMLHttpRequest";

CURL代码

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request_url);
curl_setopt($ch, CURLOPT_HEADER, $header);
curl_setopt($ch, CURLOPT_POST, $fields);
curl_setopt($ch, CURLOPT_, $value);
$response=curl_exec($ch);
curl_close($ch);

如果您需要任何进一步的数据,请发表评论我将详细解释。

2 个答案:

答案 0 :(得分:3)

400响应意味着请求进入的HTTP服务器表示请求无效。

为什么?

谁知道!也许您在请求中发送的URL具有格式错误的参数(在查询字符串中),或者它可能需要您没有提供的参数。或者问题可能是其他标题。

或许它只是不喜欢你。

我建议您将发送的请求与网站的API文档或(真实)浏览器发送的请求进行比较。如果失败了,请询问那些照顾您发送请求的Web服务器的人。

答案 1 :(得分:0)

当Web服务器无法理解收到的请求的一部分时,通常会发生此HTTP错误。 Internet Explorer可能会将此报告为“无法找到网页”.Microsoft Windows作为HTTP 400错误 你可以做的两件事是: 1: a:通过以下方式清除DNS缓存: b:打开命令提示符:键入ipconfig / flushdns c:重新启动Web浏览器。 2:尝试检查对象的存档副本,例如通过输入Internet Archive Wayback Machine中的地址。