知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术 > PHP编程

PHP调用小黄鸡 api post发送

发布时间:2015-05-27 19:23:44作者:知识屋

<!-- index.php -->页面  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<?php    
  function do_post_request($url, $data, $optional_headers = null)  
  {  
     $params = array('http' => array(  
                  'method' => 'POST',  
                  'content' => $data  
               ));  
     if ($optional_headers !== null) {  
        $params['http']['header'] = $optional_headers;  
     }  
     $ctx = stream_context_create($params);  
     $fp = @fopen($url, 'rb', false, $ctx);  
     if (!$fp) {  
        throw new Exception("Problem with $url, $php_errormsg");  
     }  
     $response = @stream_get_contents($fp);  
     if ($response === false) {  
        throw new Exception("Problem reading data from $url, $php_errormsg");  
     }  
     return $response;  
  }  
  function simi($value="Love"){  
    $url = 'http://www.xiaohuangji.com/ajax.php';  
    $postdata = array("para"=>$value);   
    $postdata = http_build_query($postdata);  
    return do_post_request($url,$postdata);  
  }echo simi("Love");  
?>  
 
调用这个这段的代码就是
// 装载小黄鸡函数  
// @author ipqhjjybj  
// @data  2013.11.30  
// 调用方法:  
// $result = simi($str);  
// $result String类型  是返回的内容文本  
// $str String类型  是要回答的内容  
 
也可以用CURL来做
 
function curl_post($url, array $post = NULL, array $options = array())   
{   
    $defaults = array(   
        CURLOPT_POST => 1,   
        CURLOPT_HEADER => 0,   
        CURLOPT_URL => $url,   
        CURLOPT_FRESH_CONNECT => 1,   
        CURLOPT_RETURNTRANSFER => 1,   
        CURLOPT_FORBID_REUSE => 1,   
        CURLOPT_TIMEOUT => 4,   
        CURLOPT_POSTFIELDS => http_build_query($post)   
    );   
  
    $ch = curl_init();   
    curl_setopt_array($ch, ($options + $defaults));   
    if( ! $result = curl_exec($ch))   
    {   
        trigger_error(curl_error($ch));   
    }   
    curl_close($ch);   
    return $result;   
}   
  
function simi($value = "Love")  
{  
    $post_data = array ("para"=>$value) ;  
    $url ='http://www.xiaohuangji.com/ajax.php';  
    return curl_post($url,$post_data);  
}  
// 调用方法  
// $result = simi("你的数据");  
echo simi("Love");  
 
也可以这样
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<?php  
  
function simi($value = "Love"){  
    $post_data = array ("para"=>$value) ;  
    $url ='http://www.xiaohuangji.com/ajax.php';  
    $o = "" ;  
    foreach ( $post_data as $k => $v )  
    {  
        $o .= "$k=" . urlencode ( $v ) . "&" ;  
    }  
    $post_data = substr ( $o , 0 ,- 1 ) ;  
    $ch = curl_init () ;  
    curl_setopt ( $ch , CURLOPT_POST , 1 ) ;  
    curl_setopt ( $ch , CURLOPT_HEADER , 0 ) ;  
    curl_setopt ( $ch , CURLOPT_URL , $url ) ;  
    curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , 1); // 这句还是需要的。。  
//为了支持cookie   
//curl_setopt ( $ch , CURLOPT_COOKIEJAR , ' cookie.txt ' ) ;  
    curl_setopt ( $ch , CURLOPT_POSTFIELDS , $post_data ) ;  
    curl_setopt ( $ch , CURLOPT_USERAGENT , "ipqhjjybj's curl Example beta");  
    $result = curl_exec ( $ch ) ;  
    curl_close( $ch );  
    $result = substr($result,0,-1);  
    return $result;  
}  
// 调用方法  
// $result = simi("你的数据");  
echo simi("Love");  
?>  
 
 
解释下来源。用google抓包后是:
 
 
  
Request Method: 
POST
 FormData
 
para=TT
 
    Response 就直接是内容了
所以。。很简单。。
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜