博客地址:html
https://jspang.com/post/FlutterShop.html#toc-4c7git
第三方的http請求庫叫作Diogithub
https://github.com/flutterchina/dio服務器
這二者的區別:less
dependencies是生產環境中異步
dev_dependencies:開發環境,上線的是時候不會被打包進去。jsp
添加咱們的Dioasync
這樣就表示下載好了ide
在咱們的首頁去發送一個請求。post
home_page.dart進行get請求
首先第一步就是要引入咱們的dio庫。咱們寫一個方法來請求咱們的遠程服務器
https://www.easy-mock.com/mock/5c60131a4bed3a6342711498/baixing/dabaojian?name=大胸美女
請求的地址後面傳一個name值。
這咱們使用的是個異步的方法async 那麼在請求的時候就須要用到await
Response是請求返回的結果。
測試請求數據的結果:
{"success":true,"data":{"default":"jspang","_req":{"method":"GET","url":"/mock/5c60131a4bed3a6342711498/baixing/dabaojian?name=%E5%A4%A7%E8%83%B8%E7%BE%8E%E5%A5%B3","header":{"host":"www.easy-mock.com","x-forwarded-for":"113.128.100.214","x-forwarded-proto":"https","connection":"close","content-length":"0","user-agent":"Dart/2.1 (dart:io)","accept-encoding":"gzip"}},"name":"大胸美女走進
了房間,來爲你親情服務"}}
由於咱們傳的name值是大胸美女
咱們能夠傳一個大長腿返回的結果以下:
{"success":true,"data":{"default":"jspang","_req":{"method":"GET","url":"/mock/5c60131a4bed3a6342711498/baixing/dabaojian?name=%E5%A4%A7%E9%95%BF%E8%85%BF%E7%BE%8E%E5%A5%B3","header":{"host":"www.easy-mock.com","x-forwarded-for":"113.128.100.214","x-forwarded-proto":"https","connection":"close","content-length":"0","user-agent":"Dart/2.1 (dart:io)","accept-encoding":"gzip"}},"name":"大長腿美女走進了房間,來爲你親情服務"}}
import 'package:flutter/material.dart'; import 'package:dio/dio.dart'; class HomePage extends StatelessWidget { @override Widget build(BuildContext context) { getHttp(); return Scaffold( body: Center(child: Text('商城首頁'),), ); } void getHttp() async{ try { Response response; response=await Dio().get('https://www.easy-mock.com/mock/5c60131a4bed3a6342711498/baixing/dabaojian?name=大長腿美女'); return print(response); } catch (e) { return print(e); } } }