var myString = "Hello world! - swift.jsrun.net"
print(myString)
{
"refresh_token": "25.b55fe1d287227ca97aab219bb24908ab.315360000.1798
284651.282335-8574074",
"expires_in": 2592000,
"scope": "public wise_adapt",
"session_key": "9mzdDZXu3dENdEZQurfgOVz8s1gSgvvOAUebNFzyzcp05EnbxbF+hfG9DQkpUVQdh4p6HbQcAiz5RmuBAjalJJGgIdJI",
"access_ token": "24.6c5e1ff107f0e8bcef8c46d3424a0e78.2592000.1485516651.282335-8574074",
"session_secret": "dfac94a3489fe9fca7c3221cbf7525ff"
}
{
"error": "invalid_client",
"error_description": "unknown client id"
# encoding: utf-8
import requests
host = 'https:
response = requests.get(host)
if response:
print(response.json())
# encoding:utf-8
import requests
import base64
request_url = "https://aip.baidubee.com/rest/2.0/image-classiEy/v1/car"
f = open('[本地文件]', 'rb')
img = base64.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-ur1encoded'}
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/iten/E5%B8%83%5%82%A08E8BFAAchiron/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": "颜色无法识别"
}
var myString = "Hello world! - swift.jsrun.net"
print(myString)
{
"Name": "Chen Zhifeng",
"Profession": "Teacher",
"Age": 46,
"Email": "13402506301@163.con",
"Eriends" : ["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": 801},
"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
}
var myString = "Hello world! - swift.jsrun.net"
print(myString)
ViewController.swift
CameraUsage
Created by Zhifeng Chen on 2020/8/2.
Copyright © 2020 Zhifeng Chen.All rights reserved.
import UIKit
class ViewController: UIViewController ,UINavigationControllerDelegate ,UIImagePickerDelegate{
@IBOutlet weak var carImageView: UIImageView!
@IBOutlet weak var carName: UILabel!
@IBOutlet weak var carDetails: UILabel!
@IBAction func onLibrary(_ sender: UIButton) {
let vc = UIImagePickerController()
vc.sourceType = .photoLibrary
vc.allowsEditing = true
vc.delegate = self
present(vc, animated: true)
}
@IBAction func onCamera(_ sender: UIButton) {
let vc = UIImagePickerController()
vc.sourceType = .camera
vc.allowsEditing = true
vc.delegate = self
present(vc, animated: true)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediawithInfo info: [UIImagePickerController.InfoKer : Any]) {
picker.dismiss(animated: true)
guard let image = info[.editedImage] as? UIImage else {
return
}
carImageView.image = image
let access_token = get_baidu_token()
if access()token == "" {
return
}
else {
get_car_type(access_token: access_token)
}
}
func get_car_type(access_token: String) {
let image = carImageView.image
let data = UIImagePNCRepresentation(image)
guard let date = image!.jpegData(compressionQuality: 0.5) else {
return
}
let data_base64_str = data.base64EncodedString()
let carType_host = "https:
if let ur1 = URL(string: carType_host) {
var request = URLRequest(ur1: ur1)
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
let cs = NSCharacterSet(charactersIn: "/=+%").inverted
let image_urlEncode = date_base64_str.addingPercentEncoding(withAllowedCharacters: cs)
let postString = "image=\(image_urlEncode!)&top_num=5&baike_num=1"
request.httpBody = postString.data(using: .utf8)
URLSession.shared.dataTask(with: request) { (date, response,error) in
if error != nil {
print("error")
}
else {
if let json = try? JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? [String : Any] {
let result = son ["result") as! Array<Dictionary<String, Any>>
let name = result [0] ["name"] as! String
var description = "非车类”
if name != n 非车类"{
let baike_info = result [0] ["baike info"] as! Dictionary<String, String>
if let details = baike_info["description"] {
description = details
}
else {
desoription = " 百度百科无此车资料"
}
}
DispatchQueue.main.async {
self .carDetails.text = description
self.carName.text = name
}
}
}
}
•resume ()
}
}
func get baidu_token()->String {
let API_Key = "EIpAlhdD7i5152EsiNgpU0F1"
let Secret_Key = "p8EZWg4ag]DOxABmKvBYSNyZ1ŸzGFqbm"
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 = ""
let semaphore: DispatchSemaphore = DispatchSemaphore (value: 0)
if let url = URL(string: token host) {
URISession.shared.datalask(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
}
}
semaphore.signal ()
}
.resume ()
}
else {
print ("url error")
}
semaphore.wait ()
return access_token
}
}