การดาวน์โหลดหน้าเว็บ

Dart:
การดาวน์โหลดหน้าเว็บ

วิธีการ:

Dart มีห้องสมุด http เป็นห้องสมุดยอดนิยมจากบุคคลที่สามสำหรับทำการร้องขอ HTTP นี่เป็นตัวอย่างพื้นฐานของวิธีการใช้งานเพื่อดาวน์โหลดเว็บเพจ:

ก่อนอื่น, เพิ่มห้องสมุด http เข้าไปใน pubspec.yaml ของคุณ:

dependencies:
  http: ^0.13.3

จากนั้น, นำเข้าห้องสมุดและใช้งานเพื่อเข้าถึงเนื้อหาของเว็บเพจ:

import 'package:http/http.dart' as http;

Future<void> main() async {
  var url = Uri.parse('http://example.com');
  var response = await http.get(url);
  if (response.statusCode == 200) {
    print('ดาวน์โหลดเพจแล้ว:');
    print(response.body);
  } else {
    print('คำขอล้มเหลวด้วยสถานะ: ${response.statusCode}.');
  }
}

ผลลัพธ์ตัวอย่าง (ผลลัพธ์จะแตกต่างกันไปตามเนื้อหาของเว็บเพจ):

ดาวน์โหลดเพจแล้ว:
<!doctype html>
<html>
<head>
    <title>Example Domain</title>
...
</html>

สำหรับสถานการณ์ที่ซับซ้อนกว่า เช่น การจัดการคุกกี้หรือการตั้งค่าส่วนหัว user-agent, คุณจะใช้ห้องสมุด http เดียวกัน แต่มีการกำหนดค่าเพิ่มเติมให้กับคำขอของคุณ:

import 'package:http/http.dart' as http;

Future<void> main() async {
  var headers = {
    'User-Agent': 'YourCustomUserAgent/1.0',
    'Cookie': 'name=value; name2=value2',
  };
  var url = Uri.parse('http://example.com');
  var response = await http.get(url, headers: headers);

  if (response.statusCode == 200) {
    print('ดาวน์โหลดเพจด้วยส่วนหัวที่ปรับแต่ง:');
    print(response.body);
  } else {
    print('คำขอล้มเหลวด้วยสถานะ: ${response.statusCode}.');
  }
}

การใช้ส่วนหัวเหล่านี้สามารถเลียนแบบคำขอของเบราว์เซอร์ได้อย่างถูกต้องยิ่งขึ้น ซึ่งเป็นสิ่งที่มีประโยชน์เฉพาะเมื่อต้องจัดการกับเว็บไซต์ที่มีข้อกำหนดหรือการป้องกันการเก็บข้อมูลเฉพาะ