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. KogoroMori

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

    Tham gia ngày:
    20/10/16
    Bài viết:
    4
    Đã được thích:
    4
    @ Huân Hoàng, và các bạn cho mình hỏi chút
    Trong phần hướng dẫn cách lấy link nhạc Lossless do trang chiasenhac đổi code nên không lấy được link. Thậm chí là còn không nhìn thấy link "Link Download 6: FLAC Lossless xxx MB". Bạn có cách nào xử lý trường hợp này không?

    p/s mặc dù mình có thể dùng link download file mp3..để tạo link download file nhạc lossless nhưng mình không thích vì cách làm nay không học hỏi được gì :)/

    Cảm ơn bạn!
     
    kamsamita1 thích bài này.
  2. 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
    @KogoroMori Cách đây mấy tháng chiasenhac.com đổi tên miền thành chiasenhac.vn và đổi cấu trúc mã html rồi nên code không chạy được nữa.

    Đã cập nhật lại UDF và bài viết (Phần 2) :p
     
    kamsamita1 and sgdavid like this.
  3. sgdavid

    sgdavid Thành viên
    • 8/11

    Tham gia ngày:
    23/10/15
    Bài viết:
    28
    Đã được thích:
    12
    kamsamita1 thích bài này.
  4. 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
    @sgdavid Được mà nhể ? :v

    [​IMG]

    Cái code mẫu đăng trong group mình quên đặt Return trong Func nên không trả giá trị ra biến thôi chứ up ngon lành mà :D

    Đây, code lại theo version 6 của UDF(chưa tải thì tải nhoé :p ), mình đã tách ra trang ảnh đã up rồi đấy, còn muốn tách lấy link ảnh trực tiếp luôn thì bạn làm thêm 1 bước là GET source trang ảnh đã up rồi stringregexp ra :v

    Mã (AutoIt):
    #include <_httprequest.au3>

    Local $sImagePath = FileOpenDialog("Choose Pic to post", "", "Image (*.jpg;*.png;*.gif;*.bmp)", 4)
    If @error Then Exit
    $sLink = _HostPimPandUpload($sImagePath)
    If @error Then Exit MsgBox(4096, 0, 'không upload duoc')
    MsgBox(4096, 0, $sLink)
    ShellExecute($sLink)


    Func _HostPimPandUpload($sPicPath)
        Local $sBoundary = _WinHttpBoundaryGenerator()
        Local $Cookie = _GetCookie(_HttpRequest(1, 'http://pimpandhost.com/'))
        If @error Then Return SetError(1)
        Local $PHPSESSID = StringRegExp($Cookie, 'PHPSESSID=(.*?);', 1)
        If @error Then Return SetError(2)
        $PHPSESSID = $PHPSESSID[0]
        ;--------------------------------------------------
        $InfoImage = _GetFileInfos($sPicPath)
        If @error Then Return SetError(3)
        $CDFAN = 'Content-Disposition: form-data; name='
        $xd = @CRLF & @CRLF
        ;--------------------------------------------------
        $sDataToSend = $sBoundary & @CRLF
        $sDataToSend &= $CDFAN & '"name"' & $xd & $InfoImage[0]
        $sDataToSend &= @CRLF & $sBoundary & @CRLF
        $sDataToSend &= $CDFAN & '"PHPSESSID"' & $xd & $PHPSESSID
        $sDataToSend &= @CRLF & $sBoundary & @CRLF
        $sDataToSend &= $CDFAN & '"return"' & $xd & 'json'
        $sDataToSend &= @CRLF & $sBoundary & @CRLF
        $sDataToSend &= $CDFAN & '"albumId"' & $xd & '0'
        $sDataToSend &= @CRLF & $sBoundary & @CRLF
        $sDataToSend &= $CDFAN & '"Filedata"; filename="' & $InfoImage[0] & '"' & @CRLF & 'Content-Type: ' & $InfoImage[1] & $xd & $InfoImage[2]
        $sDataToSend &= @CRLF & $sBoundary & '--'
        ;--------------------------------------------------
        $KQ = _HttpRequest(2, 'http://pimpandhost.com/upload/post', $sDataToSend, $Cookie, 'http://pimpandhost.com/')
        ;--------------------------------------------------
        $Link = StringRegExp($KQ, '"url":"(.*?)"', 1)
        If @error Then Return SetError(4)
        ;--------------------------------------------------
        Return StringReplace($Link[0], '\', '')
    EndFunc
     
    kamsamita1, Tungtata and sgdavid like this.
  5. Dinh huy thuc

    Dinh huy thuc Thành viên mới
    • 3/6

    Tham gia ngày:
    19/10/16
    Bài viết:
    2
    Đã được thích:
    3
    Chỉnh sửa cuối: 15/11/16
    kamsamita1 and ntprohd like this.
  6. ntprohd

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

    Tham gia ngày:
    21/1/16
    Bài viết:
    10
    Đã được thích:
    8
    mình cũng đang muốn làm chức năng này, chủ thớt hướng dẫn đi với cả post bài lên fb có cả hình ảnh trong bài viết nữa :D
     
    kamsamita1 thích bài này.
  7. Dinh huy thuc

    Dinh huy thuc Thành viên mới
    • 3/6

    Tham gia ngày:
    19/10/16
    Bài viết:
    2
    Đã được thích:
    3
    ca này hơi khó.
     
    kamsamita1 thích bài này.
  8. thong250485

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

    Tham gia ngày:
    21/11/16
    Bài viết:
    4
    Đã được thích:
    4
    E thu dang nhap vao trang chotot.com thi thay phan datasend rat dac biet,loay hoay hoai k giai quyet duoc,bac nao thu lam 1 code dang nhap trang cho tot dum e
     
    kamsamita1 thích bài này.
  9. Tungtata

    Tungtata Tà tà mà sống ~ Thành viên BQT Administrator
    • 93/113

    Tham gia ngày:
    25/8/15
    Bài viết:
    289
    Đã được thích:
    924
    Nơi ở:
    Hà Nội
    request của chotot cực kỳ đơn giản

     
    kamsamita1 thích bài này.
  10. thong250485

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

    Tham gia ngày:
    21/11/16
    Bài viết:
    4
    Đã được thích:
    4
    Mình làm thử rồi,điền cái đống đó vào data thì toàn thu được respone là bad request thôi
    Nếu bạn code được rồi share cho mình code đăng nhập để học hỏi đi
    Bạn thử đăng ký 1 tài khoản và đăng nhập-->cứ báo sai mật khẩu thôi
     
    kamsamita1 thích bài này.
  11. thong250485

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

    Tham gia ngày:
    21/11/16
    Bài viết:
    4
    Đã được thích:
    4
    Mình copy lại trong cái LHH paste vào vẫn báo sdt va mat khau khong đúng
     
    kamsamita1 thích bài này.
  12. Tungtata

    Tungtata Tà tà mà sống ~ Thành viên BQT Administrator
    • 93/113

    Tham gia ngày:
    25/8/15
    Bài viết:
    289
    Đã được thích:
    924
    Nơi ở:
    Hà Nội
    chụp lên xem sao bạn
     
    kamsamita1 thích bài này.
  13. thong250485

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

    Tham gia ngày:
    21/11/16
    Bài viết:
    4
    Đã được thích:
    4
    Mã (AutoIt):
    #include <_HttpRequest.au3>
    $KQ1 = _HttpRequest(1,'https://www.chotot.com/')
    ;$sCookies1=_GetCookie($KQ1)

    $KQ = _HttpRequest(2, 'https://accounts.chotot.com/api/login','{"phone":"098xx","password":"xx","rememberMe":true,"msess":null,"delaySetCookie":false}', $sCookies1, 'Referer: https://accounts.chotot.com/login?continue=https://www.chotot.com/&service=reglog', 'Connection: keep-alive')

    MsgBox(0, 0, $KQ)
    Bạn thử tạo 1 tài khoản và viết code đăng nhập thử xem được không
     
    kamsamita1 thích bài này.
  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
    @thong250485 À, lỗi do UDF của mình, vì mình để mặc định POST sẽ add Header là Content-Type: www.urlencode.... trong khi trang này thì nó là Content-Type: application/json nên không trả về giá trị được. Sẽ fix UDF và đăng code mẫu cái chotot.vn lại cho bạn sau :p
     
    kamsamita1 thích bài này.
  15. 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
    kamsamita1 thích bài này.
  16. Ngọc Yến

    Ngọc Yến Thành viên
    • 13/23

    Tham gia ngày:
    11/6/16
    Bài viết:
    24
    Đã được thích:
    27
    bác ơi khi request nó tự lưu cookie hay sao mà phải cần hàm _HttpRequest_ClearCookies ạ ?
    có thể thay đổi ip của mình khi request đến server ko bác :D ?
     
    kamsamita1 thích bài này.
  17. 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
    ***Update: Từ ver10 thì _HttpRequest đã tự nhận biết được Data2Send là json hay không để tự động thay đổi Content-Type cho phù hợp.

    @thong250485 Fix lỗi Bad Request 400 do sai Content-Type, nếu trường hợp POST phải đọc kỹ Content-Type từ LHH, nếu khác application/x-www-form-urlencoded thì phải điền Content-Type đó vào parameter $sAdditional_Headers của _HttpRequest.

    [​IMG]
    Mã (AutoIt):
    #include <_httprequest.au3>
    $RQ1 = _HttpRequest(1, 'https://accounts.chotot.com/api/login', '{"phone":"số đt","password":"mật khẩu","rememberMe":true,"msess":null,"delaySetCookie":false}', '', '', 'Content-Type: application/json')
    msgbox(4096, 0,  $RQ1)
     
    kamsamita1 thích bài này.
  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
    @Ngọc Yến À, mình dùng 1 biến Global để lưu cookie, ví dụ mình dùng nhiều hàm _HttpRequest liên tiếp thì có lúc sẽ cần đến thằng Clear này, nhưng mà cũng hiếm lắm :D
    Thay Proxy thì dùng _HttpRequest_SetOption, còn IP thì iêm không rõ :p
     
    kamsamita1 and Ngọc Yến like this.
  19. Ngọc Yến

    Ngọc Yến Thành viên
    • 13/23

    Tham gia ngày:
    11/6/16
    Bài viết:
    24
    Đã được thích:
    27
    Thank bác nhiều :D
     
    kamsamita1 thích bài này.
  20. emga9xkc

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

    Tham gia ngày:
    7/3/16
    Bài viết:
    232
    Đã được thích:
    205
    kamsamita1 thích bài này.

Chia sẻ trang này

Đang tải...