PHP调用小黄鸡 api post发送
Jun 06, 2016 pm 07:47 PM下面这段代码有涉及到io操作,因而bae,跟sae上不能试用。 可以参考后面的那个 curl版本。那个是通用的。不过显然下面这种IO操作的写法执行起来速度快一点~ 首先得声明我没进行过测试。 能抓取数据的话,很多事都很容易做到。不管是天气,地理信息之类的查询
下面这段代码有涉及到io操作,因而bae,跟sae上不能试用。 可以参考后面的那个 curl版本。那个是通用的。不过显然下面这种IO操作的写法执行起来速度快一点~
首先得声明我没进行过测试。
能抓取数据的话,很多事都很容易做到。不管是天气,地理信息之类的查询。 下面几种方法都是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
所以。。很简单。。

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Comment configurer Visual Studio Code (VS Code) pour le développement PHP
