这是我从caller.php
发布的代码
$data["names"] = $names;
$data["sizes"] = $sizes;
$destination = $url.'/script.php';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $destination);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_POST, true);
$pf = $data;
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($pf));
curl_exec($ch);
$feedback = curl_getinfo($ch);
debug($feedback,"feedback curl");
curl_close($ch);
这是服务器结构
root
/folder/caller.php
/script.php
我不能决定让自己得出可能出了什么问题的结论。。。我试图以本地主机的身份发出curl请求,但根本做不到。我只得到500分,没有更多。有人能帮我想一想可能会发生什么事吗?
尝试添加用户代理和引用标头。有时这是访问所必需的。
curl_setopt(CURLOPT_REFERER, 'http://google.com');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
为了测试的目的,去掉那条线,看看你是否得到500。我刚刚遇到一个问题,当无效的头被传递给curl时,引发了错误500。修复标题,为我修复了这个问题。