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. 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
    Window Server thì iêm chịu, không có win để test. Thým chạy thử 1 đoạn code xài WinHttp gốc xem chạy ra không, nếu cũng không thì chắc bản Win đó không chạy được.
     
  2. thanhdat8647

    thanhdat8647 Thành viên
    • 8/11

    Tham gia ngày:
    28/7/17
    Bài viết:
    35
    Đã được thích:
    4
    [​IMG]
    Mình bị lỗi này ! ai giúp mình được ko ?
     
  3. 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
  4. Ken hoàng

    Ken hoàng Thành viên mới
    • 1/6

    Tham gia ngày:
    4/8/16
    Bài viết:
    2
    Đã được thích:
    0
    Mình gặp lỗi này khi muốn hiện ra thông tin của chuỗi đã lấy

    [​IMG]

    . Đây là lỗi gì hả bạn?
     
  5. 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
    RegExp sai rồi, kết quả của request là:
    Mã (Javascript):
    [
        {
            "id": "bitcoin",
            "name": "Bitcoin",
            "symbol": "BTC",
            "rank": "1",
            "price_usd": "13063.4",
            "price_btc": "1.0",
            "24h_volume_usd": "11467600000.0",
            "market_cap_usd": "218955647400",
            "available_supply": "16761000.0",
            "total_supply": "16761000.0",
            "max_supply": "21000000.0",
            "percent_change_1h": "-0.74",
            "percent_change_24h": "-14.31",
            "percent_change_7d": "-32.27",
            "last_updated": "1514144656"
        }
    ]
    => đây là chuỗi với nhiều dòng chứ không phải 1 dòng, nên StringRegExp phải bật mode (?s) lên, ví dụ: StringRegExp($rq, '(?s)"id": "(.*?)",.*?"name": "(.*?)",', 3)

    Tuy nhiên cách làm này không hay, iêm code giùm thým kiểu làm như thế này, dễ truy xuất giá trị hơn:

    Mã (AutoIt):
    #include <_HttpRequest.au3>
    $Data = _HttpRequest(2, 'https://api.coinmarketcap.com/v1/ticker/bitcoin/')
    $tData = coinmarket_GetValue($Data)

    MsgBox(4096, 'id', $tData._id)
    MsgBox(4096, 'name', $tData._name)
    MsgBox(4096, 'symbol', $tData._symbol)
    MsgBox(4096, 'price_usd', $tData._price_usd)
    MsgBox(4096, 'price_btc', $tData._price_btc)
    MsgBox(4096, 'market_cap_usd', $tData._market_cap_usd)
    MsgBox(4096, '24h_volume_usd', $tData._24h_volume_usd)
    MsgBox(4096, 'available_supply', $tData._available_supply)
    MsgBox(4096, 'total_supply', $tData._total_supply)
    MsgBox(4096, 'max_supply', $tData._max_supply)
    MsgBox(4096, 'percent_change_1h', $tData._percent_change_1h)
    MsgBox(4096, 'percent_change_24h', $tData._percent_change_24h)
    MsgBox(4096, 'percent_change_7d', $tData._percent_change_7d)
    MsgBox(4096, 'last_updated', $tData._last_updated)

    Func coinmarket_GetValue($sData)
       Local $json = StringRegExp($sData, '"(.*?)"\h?:\h?"(.*?)"', 3)
       If @error Then Return SetError(1, 0, '')
       Local $tPatern, $Counter = 1
       For $i = 0 To UBound($json) - 1 Step 2
         $tPatern &= 'char _' & $json[$i] & '[100];'
       Next
       Local $tStructJson = DllStructCreate($tPatern)
       For $i = 1 To UBound($json) - 1 Step 2
         DllStructSetData($tStructJson, $Counter, $json[$i])
         $Counter += 1
       Next
       Return $tStructJson
    EndFunc
     

    [​IMG]
     
    Ken hoàng thích bài này.
  6. Ken hoàng

    Ken hoàng Thành viên mới
    • 1/6

    Tham gia ngày:
    4/8/16
    Bài viết:
    2
    Đã được thích:
    0
    Cảm ơn bạn nhé. Mình sẽ nghiên cứu thêm
     
  7. Trần Văn Quang

    Trần Văn Quang Thành viên mới
    • 3/6

    Tham gia ngày:
    22/12/17
    Bài viết:
    8
    Đã được thích:
    2
    Các bác cho em hỏi là em định làm cái phần mềm đăng ký tài khoản facebook, trong nhưng $data2Send gửi đi em tìm hết được rồi, chỉ có cái $skstamp , __dyn __rev là em không biết tìm ở đâu (em cũng đã có request lên https://www.facebook.com/ , lưu file dưới dạng html để tìm rồi nhưng mà vẫn không thấy). Không biết bác nào đã từng gặp trường hợp này chưa ạ, nếu có bác nào đã từng làm rồi thì giúp em với ạ :((
    [​IMG]
     
    Nguyễn Văn Tất thích bài này.
  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
    Mấy cái key có dạng __abc=value1, ___xyz=value2... thì thường không cần lấy, thým bỏ tụi nó đi trong data2send (body data) vẫn request bình thường. Tuy nhiên có ngoại lệ là khi request thằng Facebook thì KHÔNG được bỏ thằng __a=1 nếu nó xuất hiện trong data2send.

    Edit bài: À quên, __user= cũng để lại nữa
     
    Chỉnh sửa cuối: 25/12/17
    Trần Văn Quang thích bài này.
  9. Trần Văn Quang

    Trần Văn Quang Thành viên mới
    • 3/6

    Tham gia ngày:
    22/12/17
    Bài viết:
    8
    Đã được thích:
    2
    Bác cho em hỏi cái skstamp thì lấy ở đâu ra không bác, em search mãi rồi mà ko tìm được nó
     
  10. Nguyễn Văn Tất

    Nguyễn Văn Tất Thành viên
    • 8/11

    Tham gia ngày:
    7/1/17
    Bài viết:
    62
    Đã được thích:
    5
    - tạo bằng mbasic or m.facebook cho dễ không bác ??? www.facebook bị thiếu cookie gì tùm lum à
     
  11. kid95nd

    kid95nd Thành viên mới
    • 1/6

    Tham gia ngày:
    9/7/17
    Bài viết:
    6
    Đã được thích:
    0
    [​IMG]cho e hỏi làm sao để lấy cái dòng đỏ, e đang làm thử login scoin.vn mà mãi không được
     
  12. duc

    duc Thành viên
    • 8/11

    Tham gia ngày:
    28/2/16
    Bài viết:
    38
    Đã được thích:
    23
    _GetCookie nha bạn
     
  13. anhducdnt

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

    Tham gia ngày:
    29/9/16
    Bài viết:
    26
    Đã được thích:
    9
    Em làm theo 1 số trang đơn giản thì đc nhưng với vip52.net thì chịu.
    Bác nào viết code get source sau khi login trang vip52.net giúp em với.
    Khi login nó sang trang khác nên làm theo hướng dẫn không get đc.
     
  14. 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
    trang này là web game, auto web thôi, còn http request tớ nghĩ k đc đâu ;)
     
  15. Tất Nguyễn

    Tất Nguyễn Thành viên mới
    • 1/6

    Tham gia ngày:
    4/1/18
    Bài viết:
    2
    Đã được thích:
    0
    - Bác @Huân Hoàng ơi cái Obf của bác đâu rồi sao em tìm không thấy nhỉ ??
     
  16. Hoàng Tuân

    Hoàng Tuân Thành viên
    • 8/11

    Tham gia ngày:
    9/1/16
    Bài viết:
    82
    Đã được thích:
    11
  17. 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
  18. Hoàng Tuân

    Hoàng Tuân Thành viên
    • 8/11

    Tham gia ngày:
    9/1/16
    Bài viết:
    82
    Đã được thích:
    11
    Ai giúp e cái API mà lấy đc danh sách những ng like trang đi ạ, chứ e tìm hoài ko thấy
     
  19. Hoàng Tuân

    Hoàng Tuân Thành viên
    • 8/11

    Tham gia ngày:
    9/1/16
    Bài viết:
    82
    Đã được thích:
    11
    ko đc bác ơi
     
  20. 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
    Mã (AutoIt):
    #include <_HttpRequest.au3>

    $URL = 'https://zmp3-static.zadn.vn/lyrics/2017/11/24/73fd51101e4c9e8d96c2b31f8c4dd7f7_1076435593.lrc'
    GetLyric($URL, @DesktopDir)

    Func GetLyric($URL, $PathSaveLyric, $NameLyric = '')
        If $NameLyric = '' Then $NameLyric = StringRegExp($URL, '\/([^\/]+)$', 1)[0]
        If StringRight($NameLyric, 4) <> '.lrc' Then $NameLyric &= '.lrc'
        _HttpRequest('$' & $PathSaveLyric & '\' & $NameLyric, $URL)
    EndFunc

    [​IMG]

    hoặc làm theo cách của kakanet cũng ra chứ sao không ra thým ? :v
    Mã (AutoIt):
    #include <_HttpRequest.au3>
    $URL = 'https://zmp3-static.zadn.vn/lyrics/2017/11/24/73fd51101e4c9e8d96c2b31f8c4dd7f7_1076435593.lrc'
    $rq = _HttpRequest(2, $URL)
    $hOpen = FileOpen(@DesktopDir & '\KemDuyen.lrc', 2 + 32)
    FileWrite($hOpen, $rq)
    FileClose($hOpen)
     

Chia sẻ trang này

Đang tải...