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 [Ver.13 - 11/11/2017] HttpRequest cho người mới bắt đầu - Ví dụ, hình ảnh, các bước làm 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. longtu

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

    Tham gia ngày:
    9/8/17
    Bài viết:
    14
    Đã được thích:
    5
    đúng r, ra mà
    [​IMG]
     
    ruzefo thích bài này.
  2. longtu

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

    Tham gia ngày:
    9/8/17
    Bài viết:
    14
    Đã được thích:
    5
    bạn xem trên trình duyệt nên nó bị lỗi font unicode đó, bạn dùng request để lấy sẽ thấy nó ra tiếng Việt bth` à, r bạn tìm cái bạn muốn lấy thử xem
    Mã (AutoIt):
    #include <_HttpRequest.au3>
    $rq = _HttpRequest(2, 'http://lolstat.gg/vi/vn/summoner/712411129/profile')
    $js = StringRegExp($rq, "src='(http://.*?\.js)'", 1)
    $rq = _HttpRequest(2, $js[0])
    ClipPut($rq)
     
  3. darknight

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

    Tham gia ngày:
    10/1/17
    Bài viết:
    13
    Đã được thích:
    0
    Vì Content-Type: phải để ở dạng application/json mới được. Để mặc định là dạng text nên ko được bác ak.
     
  4. kakanet

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

    Tham gia ngày:
    24/2/16
    Bài viết:
    204
    Đã được thích:
    182
    udf _httprequest tự nhận biết data gửi đi có phải json không mà cậu, source nguồn nè:

    [​IMG]

    cậu làm như gửi dữ liệu bình thường thôi, nếu k ra thì cậu sai ở chỗ nào đó chăng, cậu đưa code cho mọi ng xem giúp xem
     
  5. Hoàng Phú

    Hoàng Phú Thành viên mới
    • 3/6

    Tham gia ngày:
    30/10/16
    Bài viết:
    18
    Đã được thích:
    9
    oke bác !
     
  6. Hoàng Phú

    Hoàng Phú Thành viên mới
    • 3/6

    Tham gia ngày:
    30/10/16
    Bài viết:
    18
    Đã được thích:
    9
    Nhưng mà hình như là trong js nó k chứa dữ liệu ở web? chỉ là dữ liệu chung thì phải, iêm thử rq 2 name khác nhau nhưng js lại giống nhau
    [​IMG]
     
  7. dvhtrung

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

    Tham gia ngày:
    15/7/17
    Bài viết:
    5
    Đã được thích:
    0
    Ai cho mình 1 ví dụ login và up file trang google driver với.Mình làm hoài không được
     
  8. Huân Hoàng

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

    Tham gia ngày:
    29/9/15
    Bài viết:
    534
    Đã được thích:
    1,015
  9. Huân Hoàng

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

    Tham gia ngày:
    29/9/15
    Bài viết:
    534
    Đã được thích:
    1,015
    việc này thì iêm cũng có nói khá nhiều trong các bài trước rồi, thường không tìm thấy dữ liệu thì nó sẽ nằm trong js, thým view-source trên trình duyệt thì sẽ tìm thấy js sau: https://luanxt.tk/get-link-mp3-320-lossless-vip-zing/js/core.v6.min.js có chứa cách lấy token:
    [​IMG]

    => Nó là encode lxt gì đó của siteToken (siteToken thì nằm trong source html rồi)
    => Dùng hàm _JS_Execute để giải js. Tuy nhiên cực kỳ quan trọng là thằng js này hàm _JS_Execute không giải nhanh được (vì lý do gì đó, có lẽ do chứa những mã js gây lỗi cho HTMLFile Object) mà phải bật mode IE lên mới giải được:
    _JS_Execute($LibraryJS, $sCodeJS, $Name_Var_Return_Val, $ModeIE = False, $PathTempLibJS = Default)​

    => Vấn đề đã solve.


    [​IMG]

    [​IMG]

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

    $rq1 = _HttpRequest(2, 'https://luanxt.tk/get-link-mp3-320-lossless-vip-zing/')
    $siteToken = StringRegExp($rq1, 'siteToken = "(.*?)"', 1)
    $siteToken = $siteToken[0]

    $token = _JS_Execute('https://luanxt.tk/get-link-mp3-320-lossless-vip-zing/js/core.v6.min.js', 'var token = lxtEnc("' & $siteToken & '")', 'token', True)
    MsgBox(4096, 'token', $token)

    $rq2 = _HttpRequest(2, 'https://luanxt.tk/get-link-mp3-320-lossless-vip-zing/get/nhaccuatui.php', 'link=https%3A%2F%2Fwww.nhaccuatui.com%2Fbai-hat%2Fhom-nay-toi-buon-phung-khanh-linh.i9XeUFThRO8Y.html&token=' & $token)
    MsgBox(4096, 'KQ', StringReplace(_HTMLDecode($rq2), '\', ''))


    *** Đã tìm ra cách không cần bật mode IE bằng cách lược bỏ những đoạn js thừa gây lỗi cho HTMLFile Object (lấy token + get link trong nháy mắt :v)
    Mã (AutoIt):
    #include <_HttpRequest.au3>

    $rq1 = _HttpRequest(2, 'https://luanxt.tk/get-link-mp3-320-lossless-vip-zing/')
    $siteToken = StringRegExp($rq1, 'siteToken = "(.*?)"', 1)
    $siteToken = $siteToken[0]

    $JSCode = 'var lxtSalt="8.length.fromCharCode(n[t>>5]>>>t%16&256)",lxtS="(65535&n)+(65535&t)";!function(t){"use strict";function n(t,n){var r=(65535&t)+(65535&n);return(t>>16)+(n>>16)+(r>>16)<<16|65535&r}function r(t,r,e,o,u,f){return n((c=n(n(r,t),n(o,f)))<<(a=u)|c>>>32-a,e);var c,a}function e(t,n,e,o,u,f,c){return r(n&e|~n&o,t,n,u,f,c)}function o(t,n,e,o,u,f,c){return r(n&o|e&~o,t,n,u,f,c)}function u(t,n,e,o,u,f,c){return r(n^e^o,t,n,u,f,c)}function c(t,n,e,o,u,f,c){return r(e^(n|~o),t,n,u,f,c)}function a(t){var n,r,e="";for(r=0;r<t.length;r+=1)n=t.charCodeAt(r),e+="0123456789abcdef".charAt(n>>>4&15)+"0123456789abcdef".charAt(15&n);return e}function l(t){return function(t){var n,r="",e=32*t.length;for(n=0;n<e;n+=8)r+=String.fromCharCode(t[n>>5]>>>n%32&255);return r}(function(t,r){t[r>>5]|=128<<r%32,t[14+(r+64>>>9<<4)]=r;var f,a,l,i,d,h=1732584193,s=-271733879,x=-1732584194,v=271733878;for(f=0;f<t.length;f+=16)a=h,l=s,i=x,d=v,s=c(s=c(s=c(s=c(s=u(s=u(s=u(s=u(s=o(s=o(s=o(s=o(s=e(s=e(s=e(s=e(s,x=e(x,v=e(v,h=e(h,s,x,v,t[f],7,-680876936),s,x,t[f+1],12,-389564586),h,s,t[f+2],17,606105819),v,h,t[f+3],22,-1044525330),x=e(x,v=e(v,h=e(h,s,x,v,t[f+4],7,-176418897),s,x,t[f+5],12,1200080426),h,s,t[f+6],17,-1473231341),v,h,t[f+7],22,-45705983),x=e(x,v=e(v,h=e(h,s,x,v,t[f+8],7,1770035416),s,x,t[f+9],12,-1958414417),h,s,t[f+10],17,-42063),v,h,t[f+11],22,-1990404162),x=e(x,v=e(v,h=e(h,s,x,v,t[f+12],7,1804603682),s,x,t[f+13],12,-40341101),h,s,t[f+14],17,-1502002290),v,h,t[f+15],22,1236535329),x=o(x,v=o(v,h=o(h,s,x,v,t[f+1],5,-165796510),s,x,t[f+6],9,-1069501632),h,s,t[f+11],14,643717713),v,h,t[f],20,-373897302),x=o(x,v=o(v,h=o(h,s,x,v,t[f+5],5,-701558691),s,x,t[f+10],9,38016083),h,s,t[f+15],14,-660478335),v,h,t[f+4],20,-405537848),x=o(x,v=o(v,h=o(h,s,x,v,t[f+9],5,568446438),s,x,t[f+14],9,-1019803690),h,s,t[f+3],14,-187363961),v,h,t[f+8],20,1163531501),x=o(x,v=o(v,h=o(h,s,x,v,t[f+13],5,-1444681467),s,x,t[f+2],9,-51403784),h,s,t[f+7],14,1735328473),v,h,t[f+12],20,-1926607734),x=u(x,v=u(v,h=u(h,s,x,v,t[f+5],4,-378558),s,x,t[f+8],11,-2022574463),h,s,t[f+11],16,1839030562),v,h,t[f+14],23,-35309556),x=u(x,v=u(v,h=u(h,s,x,v,t[f+1],4,-1530992060),s,x,t[f+4],11,1272893353),h,s,t[f+7],16,-155497632),v,h,t[f+10],23,-1094730640),x=u(x,v=u(v,h=u(h,s,x,v,t[f+13],4,681279174),s,x,t[f],11,-358537222),h,s,t[f+3],16,-722521979),v,h,t[f+6],23,76029189),x=u(x,v=u(v,h=u(h,s,x,v,t[f+9],4,-640364487),s,x,t[f+12],11,-421815835),h,s,t[f+15],16,530742520),v,h,t[f+2],23,-995338651),x=c(x,v=c(v,h=c(h,s,x,v,t[f],6,-198630844),s,x,t[f+7],10,1126891415),h,s,t[f+14],15,-1416354905),v,h,t[f+5],21,-57434055),x=c(x,v=c(v,h=c(h,s,x,v,t[f+12],6,1700485571),s,x,t[f+3],10,-1894986606),h,s,t[f+10],15,-1051523),v,h,t[f+1],21,-2054922799),x=c(x,v=c(v,h=c(h,s,x,v,t[f+8],6,1873313359),s,x,t[f+15],10,-30611744),h,s,t[f+6],15,-1560198380),v,h,t[f+13],21,1309151649),x=c(x,v=c(v,h=c(h,s,x,v,t[f+4],6,-145523070),s,x,t[f+11],10,-1120210379),h,s,t[f+2],15,718787259),v,h,t[f+9],21,-343485551),h=n(h,a),s=n(s,l),x=n(x,i),v=n(v,d);return[h,s,x,v]}(function(t){var n,r=[];for(r[(t.length>>2)-1]=void 0,n=0;n<r.length;n+=1)r[n]=0;var e=8*t.length;for(n=0;n<e;n+=8)r[n>>5]|=(255&t.charCodeAt(n/8))<<n%32;return r}(r=unescape(encodeURIComponent(t))),8*r.length));var r}function i(t,n,r){return n?r?f(n,t):a(f(n,t)):r?l(t):a(l(t))}"function"==typeof define&&define.amd?define(function(){return i}):"object"==typeof module&&module.exports?module.exports=i:t.lxtHash=i}(this),lxtS="s(n,t)"+lxtSalt;var lxtHs=lxtHash;function lxtEnc(t){return lxtHs(t+lxtS+"module.exports=h:e").substr(3,9)};var token=lxtEnc("' & $siteToken & '")'

    $token = _JS_Execute('', $JSCode, 'token')
    MsgBox(4096, 'token', $token)

    $rq2 = _HttpRequest(2, 'https://luanxt.tk/get-link-mp3-320-lossless-vip-zing/get/nhaccuatui.php', 'link=' & _URIEncode('https://www.nhaccuatui.com/bai-hat/cung-anh-ngoc-dolil-ft-hagi-ft-stee.7UiqqrlYlk0N.html') & '&token=' & $token)
    MsgBox(4096, 'KQ', StringReplace(_HTMLDecode($rq2), '\', ''))
     
     
  10. essered

    essered Thành viên
    • 18/23

    Tham gia ngày:
    11/9/16
    Bài viết:
    47
    Đã được thích:
    43
    thanks bác Huân Hoàng, bác phản hồi nhanh thật, rất chi tiết, thán phục bác hihi
     
  11. Huân Hoàng

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

    Tham gia ngày:
    29/9/15
    Bài viết:
    534
    Đã được thích:
    1,015
    Đù, mới hướng dẫn cho thým xong qua hôm sau trang đó đã có bản fix core.v7.min.js thay cho v6, đừng bảo trang đó của thým và thým nhờ iêm là để test bảo mật nhoé =))
     
  12. essered

    essered Thành viên
    • 18/23

    Tham gia ngày:
    11/9/16
    Bài viết:
    47
    Đã được thích:
    43
    chắc nó có spy trong forum, nhờ bác mà e get luôn đc rồi kaka
     
  13. huyngoac

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

    Tham gia ngày:
    5/3/18
    Bài viết:
    2
    Đã được thích:
    0
    Nơi ở:
    Thái Bình - Hà Nội
    Giúp mình với ạ, mình có 1 vấn đề khi dùng WinHttp.
    Khi mình request đến trang đích và thực hiện post, $Data2send có chứa 1 dãy token ngay tại trang đích, vấn đề đó là mỗi khi trang đích đó F5 lại thì cái token đó thay đổi.
    Nên cứ request get để lấy token, xong get thì token đó thay đổi, dẫn đến $Data2send lại khác đi nên không thể thực hiện post được.
    Mình phải làm sao để request post trong trường hợp này nhỉ?
    Trang FShare.vn đó ạ :D
     
  14. Huân Hoàng

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

    Tham gia ngày:
    29/9/15
    Bài viết:
    534
    Đã được thích:
    1,015
    Request get để lấy token xong thì dùng nó để post bình thường thôi thým, đâu cần lấy token khác làm gì nữa đâu nhỉ, ví dụ 1 đoạn code get link fshare miễn phí

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

    $link = _FShare_DownloadFree('https://www.fshare.vn/file/TF6JKXFF4T/')
    MsgBox(4096, '',  $link)

    Func _FShare_DownloadFree($sURL)
        Local $linkcode = StringRegExp($sURL, 'fshare.vn/file/(\w+)', 1)[0]
        Local $fs_csrf = StringRegExp(_HttpRequest(2, $sURL), 'name="_csrf-app" value="(.*?)"', 1)
        If @error Then Return SetError(1)
        Local $Request = _HttpRequest(2, 'https://www.fshare.vn/download/get', '_csrf-app=' & _URIEncode($fs_csrf[0]) & '&linkcode=' & $linkcode & '&withFcode5=0&fcode5=')
        Local $sLinkDownload = StringRegExp($Request, '"url":"(.*?)"', 1)
        If @error Then Return SetError(2)
        Return $sLinkDownload[0]
    EndFunc
     

    [​IMG]
    Còn nếu không phải ý thým là như vậy thì thým nói cụ thể hơn xem, thým đang định làm gì với fshare
     
  15. huyngoac

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

    Tham gia ngày:
    5/3/18
    Bài viết:
    2
    Đã được thích:
    0
    Nơi ở:
    Thái Bình - Hà Nội
    Em tìm ra lỗi rồi bác ơi, em code sai cái RememberMe mặc định =0. Gõ Java quen tay em sửa nó = 1. Cảm ơn bác nhiều nha
     
  16. Ace

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

    Tham gia ngày:
    6/3/18
    Bài viết:
    6
    Đã được thích:
    1
    Giúp em với ạ . Bác nào hướng dẫn login và tìm hộ em cái data2send của trang https://www.bigo.tv/ với ạ . Em tìm cả trong file js mà vẫn chưa tìm được nó giấu ở đâu để login @@
     

    Các file đính kèm:

    • 3.txt
      Kích thước:
      70.5 KB
      Đọc:
      3
  17. Huân Hoàng

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

    Tham gia ngày:
    29/9/15
    Bài viết:
    534
    Đã được thích:
    1,015
    ủa, trang này thấy có dùng js để đăng nhập gì đâu thým, làm theo cái Live HTTP Headers thým đưa thì 1 dòng đơn giản để login thôi mà, ví dụ login xong rồi lấy User Info:

    Mã (AutoIt):
    #include <_HttpRequest.au3>
    $rq1 = _HttpRequest(1, 'https://weblogin.bigo.tv/login?interfaceName=login&user=1675628030&pwd=01675628030&is_third_party=0&phone_code=84')
    $rq2 = _HttpRequest(2, 'https://www.bigo.tv/userCenter/index')
    _HttpRequest_Test( $rq2)
    [​IMG]
     
    Ace thích bài này.
  18. Ace

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

    Tham gia ngày:
    6/3/18
    Bài viết:
    6
    Đã được thích:
    1
    ôi dồi Em cứ tìm mãi cái data2send để login mà không ngờ nó nằm ngay ở cái url luôn @@ Cảm ơn bác đã thông não giúp em :3
     
    Huân Hoàng thích bài này.
  19. Ace

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

    Tham gia ngày:
    6/3/18
    Bài viết:
    6
    Đã được thích:
    1
    Mọi người cho em hỏi lỗi này là gì ạ ? Khi em Request tới địa chỉ url với id (là phòng của idol đang stream) kèm với cookie đã đăng nhập trước đó nhưng vẫn bị error này ạ. Bác nào đã từng gặp xem hộ giúp em với nha
    [​IMG]
     
  20. Huân Hoàng

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

    Tham gia ngày:
    29/9/15
    Bài viết:
    534
    Đã được thích:
    1,015
    Mã (AutoIt):
    #include <_HttpRequest.au3>
    $rq1 = _HttpRequest(1, 'https://weblogin.bigo.tv/login?interfaceName=login&user=1675628030&pwd=01675628030&is_third_party=0&phone_code=84')
    $rq2 = _HttpRequest(2, 'https://www.bigo.tv/manhduung')
    _HttpRequest_Test( $rq2)
    Nhiêu đây đủ rồi thým, cookie mới tự động được lưu vào cache sau mỗi request, nên chỉ getcookie trừ khi muốn lưu lại thôi thým ợ, còn không thì không cần :v Cơ mà code thým chỗ $cookie sao lại là '$cookie' thế kia :v
     
    Ace thích bài này.

Chia sẻ trang này

Đang tải...