我正在尝试使用PHP中的cURL发送一些标头,并且标头不发送。
代码是:
$header = array('Referer: xxx',
'Origin: xxx',
'Content-Type: application/x-www-form-urlencoded',
'Connection: keep-alive',
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Cache-Control: max-age=0',
'Except:');
并使用此:
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$t = curl_exec($ch);
$sentHeaders = curl_getinfo($ch);
var_dump($sentHeaders);
并且在转储中我没有看到Origin,内容类型,引用者和什么......我正在尝试发送一个POST但它没有发送。
我做错了什么?
编辑: 现在POST没有发送:
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_URL, $url);
$t = curl_exec($ch);
答案 0 :(得分:1)
添加此选项可查看getinfo
电话中的请求标头:
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
答案 1 :(得分:0)
关于你的POST问题:
一定要使用curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data) );
。所以它需要在你的代码中:
if(_connection.State == System.Data.ConnectionState.Open) _connection.Close();
_connection.Dispose();
希望有所帮助