นี่เป็นเครื่องมือที่มีประสิทธิภาพในการแยกแหล่ง JavaScript จาก URL และหน้าเว็บ / การตอบสนอง HTTP มีอินเทอร์เฟซบรรทัดคำสั่ง (CLI) สำหรับการประมวลผล URL ที่ตรงไปตรงมา และอินเทอร์เฟซแพ็คเกจสำหรับการผสานรวมแบบกำหนดเอง ทำให้เหมาะสำหรับผู้ทดสอบ นักล่าค่าหัวบั๊ก และนักพัฒนาที่ต้องการแยกแหล่งที่มา JS อย่างมีประสิทธิภาพ
การติดตั้ง
การใช้งาน CLI
ตัวเลือก
ตัวอย่าง
การใช้แพ็คเกจ
การนำเข้าตัวแยก
ตัวอย่าง
ข้อมูลเวอร์ชัน
มีส่วนร่วม
ใบอนุญาต
หากต้องการติดตั้ง getJS
ให้ใช้คำสั่งต่อไปนี้:
go install github.com/003random/getJS/v2@latest
getJS
มีตัวเลือกบรรทัดคำสั่งมากมายเพื่อปรับแต่งลักษณะการทำงาน:
-url string
: URL ที่ควรแยกแหล่ง JavaScript
-input string
: ไฟล์อินพุต URL ที่เป็นตัวเลือก แต่ละ URL ควรอยู่ในบรรทัดใหม่ในรูปแบบข้อความธรรมดา สามารถใช้งานได้หลายครั้ง
-output string
: ไฟล์เอาต์พุตเสริมที่เขียนผลลัพธ์ลงไป สามารถใช้งานได้หลายครั้ง
-complete
: เติม URL ที่เกี่ยวข้องให้สมบูรณ์/ป้อนอัตโนมัติโดยเพิ่มจุดเริ่มต้นปัจจุบัน
-resolve
: แก้ไขไฟล์ JavaScript สามารถใช้ร่วมกับ --complete
เท่านั้น
-threads int
: จำนวนเธรดการประมวลผลที่จะวางไข่ (ค่าเริ่มต้น: 2)
-verbose
: พิมพ์ข้อมูลรันไทม์แบบละเอียดและข้อผิดพลาด
-method string
: วิธีการร้องขอที่ใช้ในการดึงเนื้อหาระยะไกล (ค่าเริ่มต้น: "GET")
-header string
: ส่วนหัวคำขอเพิ่มเติมเพื่อเพิ่มลงในคำขอ สามารถใช้งานได้หลายครั้ง
-timeout duration
: คำขอหมดเวลาขณะดึงเนื้อหาระยะไกล (ค่าเริ่มต้น: 5 วินาที)
getJS -url https://destroy.ai
หรือ
curl https://destroy.ai | getJS
getJS -url "http://example.com" -header "User-Agent: foo bar" -method POST --timeout=15s
getJS -input foo.txt -input bar.txt
getJS -url "http://example.com" -output results.txt
หากต้องการใช้ getJS
เป็นแพ็กเกจ คุณจะต้องนำเข้าแพ็ก extractor
และใช้ฟังก์ชันของแพ็กเกจโดยตรง
แพ็คเกจ mainimport ("fmt" "log" "net/http" "net/url" "github.com/003random/getJS/extractor") func main () {baseURL, ผิดพลาด := url.Parse ("https:// google.com")if (err != nil) {log.Fatalf("ข้อผิดพลาดในการแยกวิเคราะห์ URL พื้นฐาน: %v", err) }resp, err := extractor.FetchResponse(baseURL.String(), "GET", http.Header{})if (err != nil) {log.Fatalf("ข้อผิดพลาดในการดึงข้อมูลการตอบสนอง: %v", err) }เลื่อน resp.Body.Close()// จุดแยกแบบกำหนดเอง (ไม่บังคับ).extractionPoints := map[string][]string{"script": {"src", "data-src"},"a": { "href"}, }แหล่งที่มา ผิดพลาด := extractor.ExtractSources(resp.Body, extractionPoints)if (err != nil) {log.Fatalf("ข้อผิดพลาดในการแตกแหล่งที่มา: %v", ผิดพลาด) }// การกรองและการขยาย Sources.filtered ที่แยกออกมา ผิดพลาด := extractor.Filter(sources, extractor.WithComplete(baseURL), extractor.WithResolve())if (err != nil) {log.Fatalf("ข้อผิดพลาดในการกรองแหล่งที่มา: %v" ผิดพลาด) } สำหรับแหล่งที่มา := ช่วงกรอง {fmt.Println(source.String()) - -
นี่คือ getJS
เวอร์ชัน v2 เวอร์ชันต้นฉบับสามารถพบได้ภายใต้แท็ก v1
ยินดีบริจาค! โปรดเปิดปัญหาหรือส่งคำขอดึงข้อบกพร่อง คำขอคุณลักษณะ หรือการปรับปรุง
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับรายละเอียด