PHP调用小黄鸡 api post发送
2013-11-30 15:43
441 查看
下面这段代码有涉及到io操作,因而bae,跟sae上不能试用。 可以参考后面的那个 curl版本。那个是通用的。不过显然下面这种IO操作的写法执行起来速度快一点~
首先得声明我没进行过测试。
能抓取数据的话,很多事都很容易做到。不管是天气,地理信息之类的查询。 下面几种方法都是post发送取得回调的response内容。
调用这个这段的代码就是
也可以用CURL来做
下面这段代码是可以直接放在任意的一个bae或者sae 上,可以做微信公众平台开发,也可以做其他的交流途径。 Curl的写法在哪里都是支持的~
也可以这样
解释下来源。用google抓包后是:
Request URL:
http://www.xiaohuangji.com/ajax.php
Request Method:
POST
FormData
para=TT
Response 就直接是内容了
所以。。很简单。。
首先得声明我没进行过测试。
能抓取数据的话,很多事都很容易做到。不管是天气,地理信息之类的查询。 下面几种方法都是post发送取得回调的response内容。
<!-- 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来做
下面这段代码是可以直接放在任意的一个bae或者sae 上,可以做微信公众平台开发,也可以做其他的交流途径。 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 URL:
http://www.xiaohuangji.com/ajax.php
Request Method:
POST
FormData
para=TT
Response 就直接是内容了
所以。。很简单。。
相关文章推荐
- 学习用js, ajax, php做一个简单的小黄鸡页面(调用simsimi API)
- PHP(CURL)POST/GET数据调用API
- PHP调用新浪微博开放平台api发送微博实例
- 学习用js, ajax, php做一个简单的小黄鸡页面(调用simsimi API)
- PHP通过POST数据调用API示例及curl_init()参数介绍
- PHP(CURL)POST/GET数据调用API简单示例
- PHP(CURL)POST数据调用API简单示例
- [php]通过http post发送json数据
- 利用python调用elasticsearch-api来分析数据并作图进行日报邮件发送
- php以post形式发送xml的方法
- PHP阿里云短信API发送代码
- php调用face++ API使用
- php 发送http post请求
- PHP:CURL分别以GET、POST方式请求HTTPS协议接口api
- php模拟post提交请求与调用接口
- HttpClient 发送post和get请求 调用第三方webservice
- php 模拟发送post请求
- PHP模拟发送POST请求之三、用Telnet和fsockopen()模拟发送POST信息
- php发送post请求的三种方法示例
- PHP通过XML报文格式的POST请求方式,与第三方接口交互(发送xml,获取XML,并解析xml步骤)