当我尝试向php中的服务器发送请求时,我似乎遇到了问题。 http api请求是这样的:
我在php中有以下部分代码,我相信错误发生了:
else
{
$ch = curl_init($input);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//curl_setopt($ch, CURLOPT_POST, true);
$this->input = $input;
}
$r = curl_exec($ch);
print_r(curl_getinfo($ch));
if($return_xml) {
$response = new SimpleXMLElement($r);
}
这是我从print_r(curl_getinfo($ ch))语句得到的:
[content_type] => text / html的 [http_code] => 400 [header_size] => 129 [request_size] => 251 [filetime] => -1 [ssl_verify_result] => 20 [redirect_count] => 0 [total_time] => 0.281 [namelookup_time] => 0 [connect_time] => 0.063 [pretransfer_time] => 0.188 [size_upload] => 0 [size_download] => 20 [speed_download] => 71 [speed_upload] => 0 [download_content_length] => 20 [upload_content_length] => 0 [starttransfer_time] => 0.281 [redirect_time] => 0 [certinfo] => Array()
另外你可以看到我注释掉了curlopt_post,因为它在我做一个不同的api请求时引起了问题。我不确定解决方案是什么,我一直在看这个问题一段时间,希望有人可以帮助我谢谢:)
答案 0 :(得分:1)
Datasage帮我提出了这个答案,你基本上必须添加urlencode(“{'22'.ct.'test'}”);到这部分代码,它将产生正确的输出。