主题屋开发的主题里基本都有微博登录,而这个功能里需要模拟post提交来获取用户权限,奇怪的是前几天给客户迁移了服务器后以前的代码(使用的curl)就无法获取用户权限了,检查了服务器函数是支持此函数的,后来换了file_get_contents后才解决。

下面的两种方法,$url是链接,$data是传入参数(格式:\”meta_one=1&meta_two=2\”)。

curl方法:

function do_post($url, $data) {
 $ch = curl_init ();
 curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE );
 curl_setopt ( $ch, CURLOPT_POST, TRUE );
 curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
 curl_setopt ( $ch, CURLOPT_URL, $url );
 curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE);
 $ret = curl_exec ( $ch );
 curl_close ( $ch );
 return $ret;
}

file_get_contents方法:

function do_post2($url, $data) { 
 $options = array( 
 \'http\' => array( 
 \'method\' => \'POST\', 
 \'content\' => $data
 ), 
 ); 
 $result = file_get_contents($url, false, stream_context_create($options)); 
 return $result; 
}

发表回复

您的电子邮箱地址不会被公开。