taobao/jd/pinduoduo/1688平台以get/post获取API接口示例

55 阅读2分钟

taobao.item_get

公共参数

名称类型必须描述
keyString调用key(必须以GET方式拼接在URL中)
secretString调用密钥
api_nameStringAPI接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]
cacheString[yes,no]默认yes,将调用缓存的数据,速度比较快
result_typeString[json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读
langString[cn,en,ru]翻译语言,默认cn简体中文
versionStringAPI版本

请求参数

请求参数:num_iid=652874751412&is_promotion=1

参数说明:num_iid:淘宝商品ID
is_promotion:是否获取取促销价

响应参数

Version: Date:2022-04-04

名称类型必须示例值描述
itemitem[]1宝贝详情数据

请求示例

GET:

/** * 通过URL获取页面信息 * @param url地址@returnmixed返回页面信息/functiongeturl(url 地址 * @return mixed 返回页面信息 */ function get_url(url) { ch=curlinit();curlsetopt(ch = curl_init(); curl_setopt(ch, CURLOPT_URL,url);//设置访问的url地址curlsetopt(url); //设置访问的url地址 curl_setopt(ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt(ch,CURLOPTSSLVERIFYHOST,0);curlsetopt(ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt(ch, CURLOPT_RETURNTRANSFER,1);//不输出内容 result=curlexec(result = curl_exec(ch); curl_close (ch);returnch); return result; }复制

POST:

/** * 模拟POST提交 * @param string url地址@paramstringurl 地址 * @param string data 提交的数据 * @return string 返回结果 */ function post_url(url,url, data) { curl=curlinit();//启动一个CURL会话curlsetopt(curl = curl_init(); // 启动一个CURL会话 curl_setopt(curl, CURLOPT_URL, url);//要访问的地址curlsetopt(url); // 要访问的地址 curl_setopt(curl, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查 curl_setopt(curl,CURLOPTSSLVERIFYHOST,FALSE);//从证书中检查SSL加密算法是否存在curlsetopt(curl, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在 curl_setopt(curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'); // 模拟用户使用的浏览器 //curl_setopt(curl,CURLOPTFOLLOWLOCATION,1);//使用自动跳转//curlsetopt(curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转 //curl_setopt(curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer curl_setopt(curl,CURLOPTPOST,1);//发送一个常规的Post请求curlsetopt(curl, CURLOPT_POST, 1); // 发送一个常规的Post请求 curl_setopt(curl, CURLOPT_POSTFIELDS, data);//Post提交的数据包xcurlsetopt(data); // Post提交的数据包x curl_setopt(curl, CURLOPT_TIMEOUT, 30); // 设置超时限制 防止死循环 curl_setopt(curl,CURLOPTHEADER,0);//显示返回的Header区域内容curlsetopt(curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容 curl_setopt(curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 tmpInfo=curlexec(tmpInfo = curl_exec(curl); // 执行操作 if(curl_errno(curl)) { echo 'Errno'.curl_error(curl);//捕抓异常 } curl_close(curl);//关闭CURL会话returncurl); // 关闭CURL会话 return tmpInfo; // 返回数据 }复制

GET&&POST:

/** * CURL请求 * @param url请求url地址@paramurl 请求url地址 * @param method 请求方法 get post * @param null postfieldspost数据数组@paramarraypostfields post数据数组 * @param array headers 请求header信息 * @param bool|false debug调试开启默认false@returnmixed/functionhttpRequest(debug 调试开启 默认false * @return mixed */ function httpRequest(url, method,method, postfields = null, headers=array(),headers = array(), debug = false) { method=strtoupper(method = strtoupper(method); ci=curlinit();/Curlsettings/curlsetopt(ci = curl_init(); /* Curl settings */ curl_setopt(ci, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); curl_setopt(ci,CURLOPTUSERAGENT,"Mozilla/5.0(WindowsNT6.2;WOW64;rv:34.0)Gecko/20100101Firefox/34.0");curlsetopt(ci, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0"); curl_setopt(ci, CURLOPT_CONNECTTIMEOUT, 60); /* 在发起连接前等待的时间,如果设置为0,则无限等待 */ curl_setopt(ci,CURLOPTTIMEOUT,7);/设置cURL允许执行的最长秒数/curlsetopt(ci, CURLOPT_TIMEOUT, 7); /* 设置cURL允许执行的最长秒数 */ curl_setopt(ci, CURLOPT_RETURNTRANSFER, true); switch (method) { case "POST": curl_setopt(ci, CURLOPT_POST, true); if (!empty(postfields)) { tmpdatastr = is_array(postfields)?httpbuildquery(postfields) ? http_build_query(postfields) : postfields;curlsetopt(postfields; curl_setopt(ci, CURLOPT_POSTFIELDS, tmpdatastr); } break; default: curl_setopt(ci, CURLOPT_CUSTOMREQUEST, method); /* //设置请求方式 */ break; } ssl = preg_match('/^https:///i',url)?TRUE:FALSE;curlsetopt(url) ? TRUE : FALSE; curl_setopt(ci, CURLOPT_URL, url);if(url); if(ssl){ curl_setopt(ci,CURLOPTSSLVERIFYPEER,FALSE);//https请求不验证证书和hostscurlsetopt(ci, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt(ci, CURLOPT_SSL_VERIFYHOST, FALSE); // 不从证书中检查SSL加密算法是否存在 } //curl_setopt(ci,CURLOPTHEADER,true);/启用时会将头文件的信息作为数据流输出/curlsetopt(ci, CURLOPT_HEADER, true); /*启用时会将头文件的信息作为数据流输出*/ curl_setopt(ci, CURLOPT_FOLLOWLOCATION, 1); curl_setopt(ci,CURLOPTMAXREDIRS,2);/指定最多的HTTP重定向的数量,这个选项是和CURLOPTFOLLOWLOCATION一起使用的/curlsetopt(ci, CURLOPT_MAXREDIRS, 2);/*指定最多的HTTP重定向的数量,这个选项是和CURLOPT_FOLLOWLOCATION一起使用的*/ curl_setopt(ci, CURLOPT_HTTPHEADER, headers);curlsetopt(headers); curl_setopt(ci, CURLINFO_HEADER_OUT, true); /curl_setopt(ci,CURLOPTCOOKIE,ci, CURLOPT_COOKIE, Cookiestr); * COOKIE带过去 */ response=curlexec(response = curl_exec(ci); requestinfo=curlgetinfo(requestinfo = curl_getinfo(ci); httpcode=curlgetinfo(http_code = curl_getinfo(ci, CURLINFO_HTTP_CODE); if (debug) { echo "=====post data======\r\n"; var_dump(postfields); echo "=====info===== \r\n"; print_r(requestinfo);echo"=====response=====\n˚";printr(requestinfo); echo "=====response=====\r\n"; print_r(response); } curl_close(ci);returnci); return response; //return array(httpcode,http_code, response,$requestinfo); }复制

实例:

res=httpRequest(res =httpRequest(url,'post',data);data); json_array = json_decode(res,true);res,true); data=jsonarray[data][adminuserlist];echojson_array['data']['admin_user_list']; echo data