{
"refresh_token":"25.b55fe1d287227ca97aab219bb249b8ab.315360000.1798
284651.282335-8574074",
"expires_in": 2592000,
"scope": "public_wise adapt",
"session_key":"9mzdDZXu3dENdFZQurfg0Vz8slgSgvvOAUebNFzyzcpQ5EnbxbF+
hfG9DQkpUVQdh4p6HbQcAiz5RmuBAjalJJGgIdJI",
"access_token": "24.6c5e1ff107f0e8bcef8c46d3424a0e78.2592000.1485516651.
282335-8574074",
"session_secret":"dfac94a3489fe9fca7c3221cbf7525ff"
}
{
"error": "invalid client",
"error description": "unknown client id"
}
在获得access_token后,可以调用相关功能的API来完成该功能,如车型识别能力。
import requests
host ='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_
credentials&client_id=【官网获取的 AK】&client_secret=【官网获取的 sK】'
response = requests.get(host)
if response:
print(response.json())
import requests
import base64
,,,
车型识别
,,,
request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1 car"
f = open('[本地文件]','rb')
img = mbase64.b64encode(f.read())
params = ("image":img,"top num":5}
access_token ='[调用鉴权接口获取的 token]'
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded')
response = requests.post(request_url, data=params, headers=headers)
if response:
print(response.json())
返回的 JSON 数据:
{
"log_id": 4086212218842203806,
"location result":{
"width":447,
"top": 226,
"height": 209,
"left":188},
}
"result": [{
"baike_info": {
"baike_url":"http://baike.baidu.com/item/8E58B88838E588A8A08E88BF8AAChi
ron/20419512",
"description":"布加迪Chiron是法国跑车品牌布加迪出品的豪华超跑车。配置四涡车
增压发动机,420公里每小时,有 23 种颜色的选择,售价高达 260 万美元。"
},
"score":0.98793351650238,
"name":"布加迪Chiron",
"year":"无年份信息"
},
{
"score":0.0021970034576952,
"name":"奥迪RS5",
"year":"2011-2017"
},
{
"score":0.0021096928976476,
"name":"奥迪RS4",
"year":"无年份信息"
},
{
"score":0.0015581247862428,
"name":"奥迪RS7",
"year":"2014-2016"
},
{
"score":0.00082337751518935
"name":"布加迪威航",
"year":"2004-2015"
}],
"color result":"颜色无法识别"
}
6.1.2
{
"Name": "Chen Zhifeng",
"Profession" : "Teacher",
"Age":46,
"Email":"13402506301@163.com"
"Friends": ["Zhang San","Li Si"]
}
{
"TeamName":"ioS-Orange-Team",
"Teacher":"Chen Zhifeng",
"Students":[
{ "Name": "Zhang Bo", "Hometown":"Xuzhou"},
{"Name":" Chang Wenxiang ","Hometown":"Yancheng"}
{"Name":" Hu Yinting","Hometown":"Suzhou"}
]
}
{
"coord":{"lon":-0.13,"lat":51.51},
"weather":[{"id":300,"main":"Drizzle","description":"light
intensity drizzle","icon":"09d"}],
"base":"stations",
"main":{
"temp":280.32,
"pressure":1012,
"humidity":81,
"temp min":279.15,
"temp max":281.15
},
"visibility":10000,
"wind" : {"speed":4.1,"deg":80},
"clouds":{"all":90},
"dt":1485789600,
"sys":{
"type":1,
"id":5091,
"message":0.0103,
"country":"GB",
"sunrise":1485762037,
"sunset":1485794875
},
"id":2643743,
"name" :"London",
"cod":200
)
6.1.3
module.exports = function() {
var data = { users: [] }
for (var i = 0; i < 1000; i++) {
data.users.push({ id: i, name: 'user' + i })
}
return data
}
let Mock = require('mockjs');
let Random = Mock.Random;
module.exports = function() {
var data ={
news: []
};
var images = [1,2,3].map(x=>Rand dom.image('200x100', Random.color(),
Random.word(2,6)));
for (var i = 0; i< 100; i++) {
var content = Random.cparagraph(0,10);
data.news.push({
id:i,
title: Random.cword(8,20),
desc: content.substr(0,40),
tag:Random.cword(2,6),
views:Random.integer(100,5000),
images: images.slice(0,Random.integer(1,3))
})
}
return data
}
import UIKit
import Foundation
if let url = URL(string:"http://localhost:3004/news") {
URLSession.shared.dataTask(with: url)(data, response, error) in
if error != nil {
print ("Network errors")
}
else {
let rs = String(data: data!, encoding: String.Encoding.utf8)!
print(rs)
if let json = try? JSONSerialization.jsonObject(with: data!,
options: .allowFragments) {
print(json)
}
}
.resume()
}
6.2.1
func sessionGetData() {
let urlstring="http://www.tuling123.com/"
let urlmURL(stringurlString)
let request=URRequest(url: url!)
let sessionm = URLSession.shared
let dataTask = session.dataTask(with: request,
completionHandler: {(data, response, error) -> Void in
if error != nill
print(error.debugDescription)
}else{
let str = String(data: data!,encoding:
String.Encoding.utf8)
print(str!)
})as URLSessionTask
dataTask.resume()
}
func sessionDownloadImage(){
let url = URL(string: "http://hangge.com/blog/images/logo.png")
let request = URLRequest(url:url!)
let session = URLSession.shared
let downloadTask = session.downloadTask(with: request,
completionHandler: {
(location:URL?, response:URLResponse?, error:Error?)
-> Void in
print("location:\(String(describing: location))")
let locationPath = location?.path
let now = NSDate()
let timeInterval:TimeInterval = nowtimeIntervalSince1970
let timeStamp = String(timeInterval)
let documents:Str ing = NSHomeDirectory() + "/Documents/\
(timeStamp).png"
let fileManager = FileManager.default
try! fileManager. noveItem(atPath: locationPath!, toPath:
documents)
print("new locat ion:\(documents)")
})
downloadTask.resume()
}
$ sudo apachectl start | stop | restart
$ sudo cp /etc/php.ini.defaule /etc/php.ini
<?php
phpinfo();
?>
<?php
function receivestreamFile($receiveFile){
$streamData = isset($GLOBALS['HTTP_RAW POST_DATA'])? $GLOBALS['HTTP_
RAW_POST_DATA'] : '';
if(empty($streamData)){
$streamData = file get contents('php://input');
}
if($streamData!=''){
$ret = file put contents($receiveFile, $streamData, true);
}else{
$ret=false;
}
return $ret;
}
$receiveFile = $_SERVER["DOCUMENT_ROOT"]."/uploadFiles/swift.png";
echo $receivefile;
$ret = receiveStreamFile($receiveFile);
echo json_encode(array('succe ss'=>(bool)$ret));
?>
func sessionUploadPhp(){
let url = URL(string:"http://localhost/uploadSwift.php")
let session =URLSession.shared
var request = URLRequest(url:url!cachePolicy:reloadIgnoringCacheData)
request.httpMethod = "POST"
let fileImage = Bundle.main.path(forResource:"beel",ofType:"png")
let imgData=try! Data(contentsOf: URL(fileURLWithPathfileImage!))
let uploadTask= session.uploadTask(with: request as URLRequest, from:
imgData) {
(data:Data?,response:URLResponse?,error:Error?) -> Void in
if error != nil{
print(error!)
}else{
let str = Stringdata: data!, encoding: String.Encoding.utf8)
print("上传完毕: \(String(describing:str))")
}
}
uploadTask.resume()
}
import UIkit
import Foundation
let API_Key = "EIpAlhdD7i5152EsiNqpUoF"
let Secret_Key = "p8E2Wg4agjDOxABmKvBYSNyZ1YzGFqb "
let token_host = "https://aip.baidubce.com/oauth/2.0/token?grant
type=client_credentials&client_id=\(API_Key)&client_secret=\(Secret_Key)"
var access_token…""
var expires_in : Int32 = 0
if let url=URL(string: token host){
URLSession.shared.dataTask(with: url) {(data,response,error) in
if error != nil {
print ("network error")
}
else {
if let json = try? JSONSerialization.jsonObject(with: data!,
options:.allowFragments) as?[String :Any] {
access token = json["access_token"] as! String
expires in = json["expires_in"] as! Int32
print("--------access_token------")
print(access_token)
print("--------expires_time------")
print(expires in)
}
}
}
.resume()
}
else {
print ("url error")
}
public struct Loader {
static func readTxt(file url:URL) -> String? {
do {
let source = try String(contentsOf: url)
return source
}
catch {
return nil
}
}
static func readBin(file url:URL) -> Data? {
do {
let data = try Data(contentsOf: url)
return data
}
catch {
return nil
}
}
}
let path = Bundle.main.path(forResource:"qrcar.jpg",ofType: nil)
let url=URL(fileURLwithPath:path!)
let data=Loader.readBin(file:url)
if(data == nil) {
print("File failed to load")
}
let data_base64 str = data?.base64EncodedString()
let data_base64 = data?base64EncodedData()
access_token = "242ec96a68f74a8429b0f07869929413ae25920001598921312282335
-21737249"
let carType_host = "https://aipbaidubce.com/rest/2.0/image-classify/v1/
car" + "?access token=" + "\(access token)"
if let url = URL(string: carType_host) {
var request=URLRequest(url:url)
request.setValue("application/x-www-form-urlencoded",forHTTPHeaderField:
"Content-Type")
request.httpMethod = "POST"
let cs = NSCharacterSet(charactersIn:"/=+8").inverted
let image_urlEncode = data_base64str!addingPercentEncoding(withA
llowedCharacters: cs)
let poststring = "image=\(image_urlEncode!)&topnum=5&baike num=1"
request.httpBody=poststring.data(using:.utf8)
URLSession.shared.dataTask(with:request){ (data,response, error) in
if error != nil {
print("error")
}
else {
let rs = String(data: data!,encoding:String.Encoding.utf8) print(rs!)
}
}
.resume()
}
{
"log_id": 4368540366187197442,
"location result":
{
"width": 386.4585876464844,
"top":81.3405532836914,
"height":183.9795532226562,
"left":58.03330230712891
},
"result":
[
{
"score":0.9767324924468994,
"year":"2014-2017",
"baike info":
{
"baike_url":"/item/8E58A58878E789189EE5/475143"
"image_url":
"/pic/5882b2b7d0a20cf47a91d7777c094b36acaf9910",
"description":
"2014款奇瑞E5是国内科技家轿的引领者,带领消费者悦享领先科技。
},
"name":"奇瑞E5"
},
{
"score":0.007103727199137211,
"name":"奇瑞旗云",
"year":"2010-2013"
},
{
"score":0.003686367534101009,
"name":"奇瑞艾瑞泽7",
"year":"2016-2017"
},
{
"score": 0.001757977530360222,
"name":"奇瑞 E3",
"year":"2015-2017"
},
{
"score":0.001047104829922318,
"name":"奇瑞 A5",
"year":"2015"
}
],
"color result":"黑色"
}