1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

Hướng dẫn [v14.0.6 - 23/7/2019] HttpRequest cho người mới bắt đầu - Ví dụ, hình ảnh chi tiết

Thảo luận trong 'Hướng dẫn - Bài tập căn bản' bắt đầu bởi Huân Hoàng, 13/3/16.

  1. kakanet

    kakanet Thành viên năng động
    • 43/45

    Tham gia ngày:
    24/2/16
    Bài viết:
    203
    Đã được thích:
    211
    Là do AutoIt nó không chạy đa nhiệm được, nói cho dễ hiểu như sau nha:

    Vòng lặp ví dụ While 1
    _HttpRequest => mất 1 khoảng thời gian để lấy Data => GUI sẽ dừng hoạt động trong khoảng thời gian này
    Set giá trị vào GUI​
    Wend

    Ví dụ _HttpRequest nó lấy Data trong 2s, vòng lặp nó chạy liên tục liên tục, cứ mỗi vòng lặp mới lại mất 2s dừng GUI => đơ GUI

    Bạn phải kết hợp với các UDF về Đa tiến trình mới được, tiêu biểu là Coproc, bạn xem tại đây: http://devdanang.com/d/315-da-tien-trinh-trong-autoit-multi-processing
     
  2. mrchinh5000

    mrchinh5000 Thành viên mới
    • 3/6

    Tham gia ngày:
    21/11/15
    Bài viết:
    19
    Đã được thích:
    4
    Em Cảm ơn Bác, Chúc Bác Sức Khỏe :)
     
  3. mrchinh5000

    mrchinh5000 Thành viên mới
    • 3/6

    Tham gia ngày:
    21/11/15
    Bài viết:
    19
    Đã được thích:
    4
    [​IMG]
    sau 1 thời gian request thì xuất hiện lỗi này mặc dù trước đó phần mềm chạy bình thường, mình đã test và sửa các biến lại cho hợp local và global nhưng vẫn lỗi, và code chỉ có vài dòng mà nó hiện lỗi ở line 13101, các bác giúp em với ạ
     
  4. tuoitre

    tuoitre Thành viên năng động
    • 28/34

    Tham gia ngày:
    15/9/15
    Bài viết:
    135
    Đã được thích:
    89
    chắc chắn vẫn còn lỗi ở đâu đó :v lỗi ko thể truy cập biến và dòng 13101 này k phải dòng 13101 trong file .au3 đâu...
     
  5. nguyenvl159

    nguyenvl159 Nguyên
    • 3/6

    Tham gia ngày:
    12/7/16
    Bài viết:
    25
    Đã được thích:
    3
    Các bạn cho mình hỏi sao truy vấn đăng nhập vào autoitvn.com không được nó nói cookie chưa bật nhưng mình đã bật lên rồi

    [​IMG]
     
  6. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Nếu code là thým tự làm thì thým có thể tham khảo lại bài viết - Phần II - Bài 3, iêm có hướng dẫn code đăng nhập autoitvn rồi. iêm vừa mới chạy lại thử và vẫn đăng nhập bình thường :3


    [​IMG]

    ***Ví dụ đã không còn vì bài viết cũ đã bị xoá kể từ _HttpRequest ver12, vui lòng xem ví dụ đăng nhập trong file _HttpRequest_Help.chm
     
  7. mrchinh5000

    mrchinh5000 Thành viên mới
    • 3/6

    Tham gia ngày:
    21/11/15
    Bài viết:
    19
    Đã được thích:
    4
    Mình nghĩ là lúc request và lọc string, tới 1 lúc nào đó mấy cái string cần sẽ không thể tìm được nên biến đó rỗng dẫn tới các lệnh StringRegExp, StringReplace phía sau bị lỗi
     
  8. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Tuỳ thuộc vào nhiều thứ lắm, đơn cử lấy 1 ví dụ: Thým post đăng nhập hay làm gì đó 1 trang web, request 1 vài lần đầu lấy data bình thường => regexp ra bình thường, nhưng sau đó, do thým request quá nhiều lần nên nó bắt điền captcha hoặc nó giới hạn lượt truy cập => hết lấy được data => regexp không ra => lỗi. Ví dụ là vậy, còn muốn bắt bệnh chính xác thì có lẽ thým phải show code thôi :v :v
     
    mrchinh5000 thích bài này.
  9. mrchinh5000

    mrchinh5000 Thành viên mới
    • 3/6

    Tham gia ngày:
    21/11/15
    Bài viết:
    19
    Đã được thích:
    4
    em chỉ get source rồi lọc lấy mấy cái string trên web thôi ạ, ví dụ trang này https://remitano.com/vn em get giá mua Bitcoin hiện tại rồi hiện lên gui thôi không có gì khó cả
     
  10. DuyMinh

    DuyMinh Thành viên năng động
    • 28/34

    Tham gia ngày:
    14/3/17
    Bài viết:
    177
    Đã được thích:
    92
    Vì vậy mới có vụ If @Error Then :))
     
    mrchinh5000 and Huân Hoàng like this.
  11. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    thým GET source và StringRegExp lấy "vn":{"btc_bid":số_tiền," đúng không ? iêm ví dụ lấy liên tục một cách đơn giản như thế này: :v

    Mã (AutoIt):
    #include <_HttpRequest.au3>
    Local $buy
    While Sleep(1000)
        $buy = StringRegExp(_HttpRequest(2, 'https://remitano.com/vn'), '"vn":{"btc_bid":([\d\.]+),"', 1)
        If @error Then ContinueLoop
        $buy = $buy[0]
        ConsoleWrite($buy & @CRLF)
    WEnd
    Còn thým chắc để luôn StringRegExp(_HttpRequest(2, 'https://remitano.com/vn'), '"vn":{"btc_bid": ([\d\.]+),"', 1)[0] nên khi lấy không được nữa nó báo lỗi, chắc thế :3
     
    mrchinh5000 thích bài này.
  12. mrchinh5000

    mrchinh5000 Thành viên mới
    • 3/6

    Tham gia ngày:
    21/11/15
    Bài viết:
    19
    Đã được thích:
    4
    yeah đúng rồi bác ạ, để em sửa lại, cảm ơn bác nhiều ạ @@
     
  13. mrchinh5000

    mrchinh5000 Thành viên mới
    • 3/6

    Tham gia ngày:
    21/11/15
    Bài viết:
    19
    Đã được thích:
    4
    Mấy bác giúp em lọc cái này với ạ https://pastebin.com/JaS7Kk3p
    Kết quả hiển thị ra label
    Rank 1500
    Point 6371
    Bonus 103.255722
     
  14. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Test thử đoạn code này và sửa lại cho đúng ý thým:
    Mã (AutoIt):
    #include <_HttpRequest.au3>
    $a = StringRegExp(ClipGet(), '(?s)<tr id="\w{20,}">(.*?)</tr>', 3)
    ;_ArrayDisplay($a)
    For $i = 0 To UBound($a) - 1
        $a[$i] = StringRegExpReplace(StringStripWS(StringRegExpReplace($a[$i], '(<[^>]*?>|<\!--|-->)', ''), 7), '\R', '|')
    Next
    ;MsgBox(4096, '', $a[0])
    _ArrayDisplay($a)
    ClipGet() thay bằng source html của thým.
    P/S: Đổi chữ ký đê thým, giống đang làm loãng 2pic vỡi hồn =.="
     
    mrchinh5000 thích bài này.
  15. mrchinh5000

    mrchinh5000 Thành viên mới
    • 3/6

    Tham gia ngày:
    21/11/15
    Bài viết:
    19
    Đã được thích:
    4
    Yêu bác quá, em ngâm cứu tiếp ạ
     
  16. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Thým có ra giống dạng như thế này không thế:
    [​IMG]

    Nếu đúng thì StringSplit '|' là xong :D
     
  17. mrchinh5000

    mrchinh5000 Thành viên mới
    • 3/6

    Tham gia ngày:
    21/11/15
    Bài viết:
    19
    Đã được thích:
    4
    em ra y như bác luôn, tại chưa rành cái StringRexExp nên lọc chuỗi nó cứ ngu ngu bác ạ, phải dài dòng mới lọc được, trong khi bác viết 1 dòng là xong rồi ~~
     
  18. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Đã có bản update _HttpRequest lên ver.11 nhoé các thým :D:D:D
     
    DuyMinh thích bài này.
  19. hoangtieubao

    hoangtieubao Thành viên
    • 8/11

    Tham gia ngày:
    31/5/17
    Bài viết:
    41
    Đã được thích:
    11
    Có vẻ update ver 11 chất lượng tốt hơn rất nhiều so với các phiên bản cũ
    Mong cậu cố gắng hơn nữa để tối ưu code và tương thích tốt giúp mem có cái dùng ok
    Mà update bên đây có update bên phiên bản _HttpRequest2 không?
     
    Huân Hoàng thích bài này.
  20. tuoitre

    tuoitre Thành viên năng động
    • 28/34

    Tham gia ngày:
    15/9/15
    Bài viết:
    135
    Đã được thích:
    89
    nhiều người làm tắt giống iêm quá ;))
     

Chia sẻ trang này

Đang tải...