够意思博客够意思博客够意思博客

PHP curl模拟表单以x-www-form-urlencoded方式POST请求

PHP curl模拟表单以x-www-form-urlencoded方式POST请求

要想以 x-www-form-urlencoded 方式发送,最关键其实是发送的数据格式

方式from-data发送的数据用的是array格式,而方式为 x-www-form-urlencoded 时需要用key=value&key=value的格式发送,发送的是string型的数据。

//表单x-www-form-urlencoded   post提交
protected function curl_post($url , $data=array()){
   //要想以 x-www-form-urlencoded 方式发送,最关键其实是发送的数据格式。
   //方式from-data发送的数据用的是array格式,而方式为 x-www-form-urlencoded 时需要用key=value&key=value的格式发送,发送的是string型的数据。
   $headers = array('Content-Type: application/x-www-form-urlencoded');//设置x-www-form-urlencoded
   $data = http_build_query($data); //将数组格式转化成key=value格式
   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, $url);
   curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); //设置头信息
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
   curl_setopt($ch, CURLOPT_POST, 1);    // POST数据
   curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  // 把post的变量加上
   curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727;
.NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)'
);
   $output = curl_exec($ch);
   curl_close($ch);
   return $output;
}


本文为够意思原创文章,转载无需和我联系,但请注明来自够意思博客blog.go1s.cn:够意思博客 » PHP curl模拟表单以x-www-form-urlencoded方式POST请求

加载中~