技术文档请参考http://dev2.baidu.com/docs.do?product=2#page=File,和http://dev2.baidu.com/docs.do?product=2#page=file1http://dev2.baidu.com/docs.do?product=2#page=Request_Header

因为在每次访问API时,您需要提供您的token(权限代码)以及要操作的用户名和密码来进行权限认证。

那么如何验证?请看下面的代码:

class Baidu_api {

    //soap连接标识
private $soap_client; public function __construct($service_name)
{
$this->soap_client = new SoapClient ( URL . '/sem/sms/v3/' . $service_name . '?wsdl', array ('trace' => TRUE, 'encoding' => 'utf-8') );
//帐号信息
$sh_param = array ('username' => USERNAME, 'password' => PASSWORD, 'token' => TOKEN );
$headers = new SoapHeader ( 'http://api.baidu.com/sem/common/v2', 'AuthHeader', $sh_param );
$this->soap_client->__setSoapHeaders ( array ( $headers ) );
} //取得公开的函数
public function get_functions()
{
return $this->soap_client->__getFunctions();
} //取得公开函数的参数
public function get_types()
{
return $this->soap_client->__getTypes();
} //执行函数接口
public function soap_call($function_name, array $arguments, array &$output_headers)
{
return $this->soap_client->__soapCall($function_name, $arguments, NULL, NULL, $output_headers);
} public function get_last_request()
{
return $this->soap_client->__getLastRequest();
} public function get_last_response()
{
return $this->soap_client->__getLastResponse();
} }

construct部份就是验证。

如何请求对应的接口,举个例子:在reportservice中的接口getProfessionalReportId

function get_professional_report_id($config)
{
$param = array(
'getProfessionalReportIdRequest' => array(
'reportRequestType' => $config
)
);
$output = array();
$output_response = $this->client->soap_call('getProfessionalReportId', $param, $output);
//保存记录
$this->baidu_log_mdl->write_log('getProfessionalReportId||' . serialize($output));
if(isset($output_response->reportId)) return $output_response->reportId;
return FALSE;
}

百度搜索API v3版本与soap的更多相关文章

  1. jsonp跨越请求百度搜索api 实现下拉列表提示

    题目来源: 最近在做百度IFE前端技术学院的题,然后有一题就是模拟百度搜索智能提示.题目是开源的,稍后给出地址. 因为博主没学过后端啊,欲哭无泪,所以不能实现后端模糊搜索,那如果前端ajax纯粹请求一 ...

  2. Java中的微信支付(1):API V3版本签名详解

    1. 前言 最近在折腾微信支付,证书还是比较烦人的,所以有必要分享一些经验,减少你在开发微信支付时的踩坑.目前微信支付的API已经发展到V3版本,采用了流行的Restful风格. 今天来分享微信支付的 ...

  3. easy_install django==1.4.2_百度搜索

    easy_install django==1.4.2_百度搜索 安装指定版本的django

  4. 百度GIS API使用

    按照惯例,先来一段"Hello World"级别的直观的效果 实现效果: 实现代码: (WEB工程下直接运行即可) <!DOCTYPE html> <html&g ...

  5. Java中的微信支付(2):API V3 微信平台证书的获取与刷新

    1. 前言 在Java中的微信支付(1):API V3版本签名详解一文中胖哥讲解了微信支付V3版本API的签名,当我方(你自己的服务器)请求微信支付服务器时需要根据我方的API证书对参数进行加签,微信 ...

  6. 【百度地图API】JS版本的常见问题

    1.请问如何将我的店铺标注在百度地图上?我是否可以做区域代理?在百度地图上标注是否免费? 答复: 这里只负责API的技术咨询,不解决任何地图标注问题.在百度地图上标注自己公司,即气泡标注业务.该业务已 ...

  7. Arcgis for Javascript API下类似于百度搜索A、B、C、D marker的实现方式

    原文:Arcgis for Javascript API下类似于百度搜索A.B.C.D marker的实现方式 多说无益,首先贴两张图让大家看看具体的效果: 图1.百度地图搜索结果 图2.Arcgis ...

  8. 通过百度地图API实现搜索地址--第三方开源--百度地图(三)

    搜索地址功能是建立在能够通过百度地图API获取位置的基础上 通过百度地图定位获取位置详情:http://www.cnblogs.com/zzw1994/p/5008134.html package c ...

  9. 百度音乐搜索API介绍

    百度音乐搜索API的请求地址如下: [html] view plaincopy http://box.zhangmen.baidu.com/x?op=12&count=1&title= ...

随机推荐

  1. POJ 3270 【组合数学】

    题意: 给长度为N的学列,然后让你通过置换来使其递增.原序列没有相同的数字. 1 ≤ N ≤ 10,000 ai<=100000 思路: 先找到循环,然后根据贪心只有两种比较好的情况,让循环里边 ...

  2. Sqool与kettle开源的ETL工具

    现在的ETL都是基于管道的模式(数据流)运行,比较有名的有 TaskCTL ========================================== 数据抽取的开源工具 一个是RDBMS ...

  3. dd 命令实时进度监控

    dd脚本: #!/bin/sh if [ -d "${1}" ]; then echo "!mkdir" else } fi cd ${} name=`date ...

  4. 关于scrollview监听的一些方法

    一 package cn.testscrollview; import android.os.Bundle; import android.view.MotionEvent; import andro ...

  5. mysql命令整理0919 不定期更新中

    1)新建数据库 create database +database_name:         查询数据库  show databases;       切换数据库   use database_na ...

  6. FlashBuilder的快捷键

    Ctrl-F11: 执行(Run) F11: 除错(Debug) Ctrl-Alt-Down: 重复目前所在编辑列(Repeat current line ) Alt-Up: 移动本列,或选择列往上移 ...

  7. Flex 仿Winxp左侧菜单

    呆毛放出,源码暂时不能公布,一直比较喜欢winxp的左侧菜单样式,以前也用xslt实现过,但总是达不到完美,没想到FLex轻松做到了这一点,几乎和winxp一模一样.

  8. Linux重置系统root密码

    linux的root享有至高无上的权力,一旦root密码忘记或者被盗,是一件非常头痛的事情,那么怎么样才能找回root的密码呢,本人把其总结(亲身试验)如下:  (一)Linux 系统密码破解     ...

  9. WebView 获取网页点击事件

    网页上的点击按钮 本身绑定了URL,点击的时候webview 会在下面的这个方法中加载URL - (BOOL)webView:(UIWebView*)webView shouldStartLoadWi ...

  10. [linux]查看文件编码和编码转换

    方法一:file filename 方法二:在Vim中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式. 如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码 ...