欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP调用小黄鸡 api post发送

程序员文章站 2023-08-26 12:14:59
页面  
<!-- 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 = 'https://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 ='https://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 ='https://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 就直接是内容了

所以。。很简单。。