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
    IE Object nó không lưu trữ cũng như đọc Cookies từ IE Cache thým ợ :v
     
  2. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoàng Vũ IT Moderator
    • 43/45

    Tham gia ngày:
    21/11/16
    Bài viết:
    404
    Đã được thích:
    122
    A Huân, Chuyện là em có sử dụng multi Proccess CoProc. Thì bị lõi khái báo biến. k biết có cách nào khắc phục k ạ
    [​IMG]
     
  3. Only Love

    Only Love Thành viên
    • 18/23

    Tham gia ngày:
    8/9/15
    Bài viết:
    69
    Đã được thích:
    59
    #include <_HttpRequest.au3> đem lên đầu code đó bro, đặt dưới #include <Coproc.au3> thì process con nó không load tới UDF _HttpRequest

    tốt nhất #include Coproc nên nằm dưới tất cả các #include khác
     
    Chỉnh sửa cuối: 25/1/19
  4. le thanh an

    le thanh an Thành viên mới
    • 3/6

    Tham gia ngày:
    18/2/16
    Bài viết:
    10
    Đã được thích:
    0
    Ad cho hỏi có cách nào dùng _HttpRequest mà đọc được source như khi dùng _IEDocReadHTML ạ?
    Vì e dùng _HttpRequest(2,...) source trả về không đầy đủ như _IEDocReadHTML
     
  5. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoàng Vũ IT Moderator
    • 43/45

    Tham gia ngày:
    21/11/16
    Bài viết:
    404
    Đã được thích:
    122
    Bạn nói thiếu ? Những cái thiếu là do js tải nha. request k có js nên k thể tải những thứ đó.
     
  6. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoàng Vũ IT Moderator
    • 43/45

    Tham gia ngày:
    21/11/16
    Bài viết:
    404
    Đã được thích:
    122
    A Huân cho em hỏi. Như post
    application/x-www-form-urlencoded datasend dạng này muốn dùng file thì thêm $file là xong.
    Thế dùng json mà muốn thêm thì sao ạ.
    Cho em hỏi luôn có cách nào để xem lại mình vừa post gì lên k ạ.
     
  7. 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
    1/ Làm bình thường thôi, chủ yếu là giá trị của Post Data đúng + kèm header lạ nếu có
    2/ Đã có code mẫu ở đây http://autoitvn.com/threads/ver-14-...h-anh-buoc-lam-chi-tiet.267/page-32#post-7469, $requestHeader= _HttpRequest_QueryHeaders(-1)
     
  8. TungNhoc

    TungNhoc Thành viên
    • 8/11

    Tham gia ngày:
    15/8/18
    Bài viết:
    30
    Đã được thích:
    2
    Chào bác Huân Hoàng cũng như toàn thể anh em trong diễn đàn autoitvn chúc các bác năm mới tràn đầy sức khỏe và thành công trong công việc ạ !
    Vô vấn đề của em bác cho em hỏi em đã request lần 1 ok rồi nhưng em request tiếp lần 2 thì ko nhận được cookie . Phải tắt autoit rồi chạy lại , mỗi lần chạy mỗi lần tắt thì được chứ chạy 2 lần thì ko được . Em nghĩ như kiểu cần clear cache sau mỗi lần request mới được . Bác cho em hỏi có cách nào khắc phục không ạ . Em cám ơn
     
  9. longtu

    longtu Thành viên
    • 18/23

    Tham gia ngày:
    9/8/17
    Bài viết:
    67
    Đã được thích:
    37
    đọc help hàm _HttpRequest_SessionClear đi bác
     
  10. TungNhoc

    TungNhoc Thành viên
    • 8/11

    Tham gia ngày:
    15/8/18
    Bài viết:
    30
    Đã được thích:
    2
    đúng cái mình cần rồi . Thank bác longtu
     
  11. mick492011

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

    Tham gia ngày:
    1/9/16
    Bài viết:
    6
    Đã được thích:
    0
  12. 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ới đầu nhìn câu hỏi tưởng dễ hoá ra cũng có chút rắc rối nhể :-??. Giờ ta bắt request cái trang này thì có được thông tin Headers như sau:
    Mã (CSS):
    https://www.whitepages.com/

    GET / HTTP/1.1
    Host: www.whitepages.com
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:57.0) Gecko/20100101 Firefox/57.1
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-US
    Accept-Encoding: gzip, deflate, br
    Cookie: ewp=1; eb=99; wp_endemic_provider=K
    DNT: 1
    Connection: keep-alive
    Upgrade-Insecure-Requests: 1

    HTTP/2.0 200 OK
    Date: Sat, 23 Feb 2019 07:02:58 GMT
    Content-Type: text/html
    Server: nginx
    Vary: Accept-Encoding
    Expires: Thu, 01 Jan 1970 00:00:01 GMT
    Cache-Control: private, no-cache, no-store, must-revalidate
    edge-control: no-store, bypass-cache
    surrogate-control: no-store, bypass-cache
    Content-Encoding: gzip
    X-Firefox-Spdy: h2
    ----------------------------------------------------------
    https://www.whitepages.com/dstl-wp.js?PID=59D5DB9F-41DA-32FC-86AA-2BA4DD920FC4

    POST /dstl-wp.js?PID=59D5DB9F-41DA-32FC-86AA-2BA4DD920FC4 HTTP/1.1
    Host: www.whitepages.com
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:57.0) Gecko/20100101 Firefox/57.1
    Accept: */
    *
    Accept-Language: en-US
    Accept-Encoding: gzip, deflate, br
    X-Distil-Ajax: xebffyew
    Referer: https://www.whitepages.com/
    Content-Length: 6081
    Content-Type: text/plain;charset=UTF-8
    Cookie: ewp=1; eb=99; wp_endemic_provider=K
    DNT: 1
    Connection: keep-alive

    'p={"proof":"1e:1550905719928:9LwgfQ2jtAMEjPn9F6Jm","fp2":{"userAgent":"Mozilla/5.0(WindowsNT6.1;WOW64;rv:57.0)Gecko/20100101Firefox/57.1","language":"en-US","screen":{"width":1366,"height":768,"availHeight":728,"availWidth":1366,"pixelDepth":24,"innerWidth":1366,"innerHeight":669,"outerWidth":1382,"outerHeight":744,"devicePixelRatio":1},"timezone":7,"indexedDb":true,"addBehavior":false,"openDatabase":false,"cpuClass":"unknown","platform":"Win64","doNotTrack":"1","plugins":"ShockwaveFlash::ShockwaveFlash29.0d0::application/x-shockwave-flash~swf,application/futuresplash~spl","canvas":{"winding":"yes","towebp":false,"blending":true,"img":"7a3fffb49a71493d06e33c63c0a7e468520df763"},"webGL":{"img":"8d37e15cc9363584537e76e4d202a7e8e811da59","extensions":"ANGLE_instanced_arrays;EXT_blend_minmax;EXT_color_buffer_half_float;EXT_frag_depth;EXT_shader_texture_lod;EXT_texture_filter_anisotropic;OES_element_index_uint;OES_standard_derivatives;OES_texture_float;OES_texture_float_linear;OES_texture_half_float;OES_texture_half_float_linear;OES_vertex_array_object;WEBGL_color_buffer_float;WEBGL_compressed_texture_etc1;WEBGL_compressed_texture_s3tc;WEBGL_depth_texture;WEBGL_draw_buffers;WEBGL_lose_context;MOZ_WEBGL_lose_context;MOZ_WEBGL_compressed_texture_s3tc;MOZ_WEBGL_depth_texture","aliasedlinewidthrange":"[1,1]","aliasedpointsizerange":"[1,1024]","alphabits":8,"antialiasing":"yes","bluebits":8,"depthbits":16,"greenbits":8,"maxanisotropy":16,"maxcombinedtextureimageunits":32,"maxcubemaptexturesize":16384,"maxfragmentuniformvectors":1024,"maxrenderbuffersize":16384,"maxtextureimageunits":16,"maxtexturesize":16384,"maxvaryingvectors":30,"maxvertexattribs":16,"maxvertextextureimageunits":16,"maxvertexuniformvectors":4096,"maxviewportdims":"[32767,32767]","redbits":8,"renderer":"Mozilla","shadinglanguageversion":"WebGLGLSLES1.0","stencilbits":0,"vendor":"Mozilla","version":"WebGL1.0","vertexshaderhighfloatprecision":23,"vertexshaderhighfloatprecisionrangeMin":127,"vertexshaderhighfloatprecisionrangeMax":127,"vertexshadermediumfloatprecision":23,"vertexshadermediumfloatprecisionrangeMin":127,"vertexshadermediumfloatprecisionrangeMax":127,"vertexshaderlowfloatprecision":23,"vertexshaderlowfloatprecisionrangeMin":127,"vertexshaderlowfloatprecisionrangeMax":127,"fragmentshaderhighfloatprecision":23,"fragmentshaderhighfloatprecisionrangeMin":127,"fragmentshaderhighfloatprecisionrangeMax":127,"fragmentshadermediumfloatprecision":23,"fragmentshadermediumfloatprecisionrangeMin":127,"fragmentshadermediumfloatprecisionrangeMax":127,"fragmentshaderlowfloatprecision":23,"fragmentshaderlowfloatprecisionrangeMin":127,"fragmentshaderlowfloatprecisionrangeMax":127,"vertexshaderhighintprecision":0,"vertexshaderhighintprecisionrangeMin":31,"vertexshaderhighintprecisionrangeMax":30,"vertexshadermediumintprecision":0,"vertexshadermediumintprecisionrangeMin":31,"vertexshadermediumintprecisionrangeMax":30,"vertexshaderlowintprecision":0,"vertexshaderlowintprecisionrangeMin":31,"vertexshaderlowintprecisionrangeMax":30,"fragmentshaderhighintprecision":0,"fragmentshaderhighintprecisionrangeMin":31,"fragmentshaderhighintprecisionrangeMax":30,"fragmentshadermediumintprecision":0,"fragmentshadermediumintprecisionrangeMin":31,"fragmentshadermediumintprecisionrangeMax":30,"fragmentshaderlowintprecision":0,"fragmentshaderlowintprecisionrangeMin":31,"fragmentshaderlowintprecisionrangeMax":30},"touch":{"maxTouchPoints":0,"touchEvent":false,"touchStart":false},"video":{"ogg":"probably","h264":"probably","webm":"probably"},"audio":{"ogg":"probably","mp3":"maybe","wav":"probably","m4a":"maybe"},"vendor":"","product":"Gecko","productSub":"20100101","browser":{"ie":false,"chrome":false,"webdriver":false},"window":{"historyLength":2,"hardwareConcurrency":4,"iframe":false},"fonts":"Calibri;Marlett"},"cookies":1,"setTimeout":0,"setInterval":0,"appName":"Netscape","platform":"Win64","syslang":"en-US","userlang":"en-US","cpu":"WindowsNT10.0;Win64;x64","productSub":"20100101","plugins":{"0":"ShockwaveFlash29.0.0.125","1":"ShockwaveFlash29.0.0.125"},"mimeTypes":{"0":"FutureSplashmovieapplication/futuresplash","1":"AdobeFlashmovieapplication/x-shockwave-flash","2":"FutureSplashmovieapplication/futuresplash","3":"AdobeFlashmovieapplication/x-shockwave-flash"},"screen":{"width":1366,"height":768,"colorDepth":24},"fonts":{"0":"Calibri","1":"Cambria","2":"Constantia","3":"Georgia","4":"SegoeUI","5":"Candara","6":"TrebuchetMS","7":"Verdana","8":"Consolas","9":"LucidaConsole","10":"CourierNew","11":"Courier"}}'

    HTTP/2.0 200 OK
    Date: Sat, 23 Feb 2019 07:02:59 GMT
    Content-Type: application/x-javascript
    Server: nginx
    Vary: Accept-Encoding
    Set-Cookie: DG_IID=B43DB3EE-AEC7-3148-BE5C-10CB71364DEA;Max-Age=2628000;HttpOnly;Path=/;Domain=.whitepages.com
    Set-Cookie: DG_UID=061EC780-10CD-3FAE-B5DD-7718AF1ADE91;Max-Age=2628000;HttpOnly;Path=/;Domain=.whitepages.com
    Set-Cookie: DG_ZID=88A84CD2-5179-3C04-A1D5-BEAFE77B2B38;Max-Age=2628000;HttpOnly;Path=/;Domain=.whitepages.com
    Set-Cookie: DG_ZUID=59793DF9-F7AB-36AB-8AC4-37983F84D0AF;Max-Age=2628000;HttpOnly;Path=/;Domain=.whitepages.com
    Set-Cookie: DG_HID=50514F7A-DF2D-38C0-9FF5-E097255E31FE;Max-Age=2628000;HttpOnly;Path=/;Domain=.whitepages.com
    Set-Cookie: DG_SID=27.3.120.21:0Qt9GdNypDW9fut89eVzVemYUM4uhAjWlu0WMrMDf4A;Max-Age=31536000;HttpOnly;Path=/;Domain=.whitepages.com
    x-uid: 59793DF9-F7AB-36AB-8AC4-37983F84D0AF
    x-ah: xebffyew
    x-ju: /dstl-wp.js
    Expires: Thu, 01 Jan 1970 00:00:01 GMT
    Cache-Control: private, no-cache, no-store, must-revalidate
    edge-control: no-store, bypass-cache
    surrogate-control: no-store, bypass-cache
    Content-Encoding: gzip
    X-Firefox-Spdy: h2
    ----------------------------------------------------------
    https://www.whitepages.com/distil_identify_cookie.html?httpReferrer=%2F&uid=59793DF9-F7AB-36AB-8AC4-37983F84D0AF

    GET /distil_identify_cookie.html?httpReferrer=%2F&uid=59793DF9-F7AB-36AB-8AC4-37983F84D0AF HTTP/1.1
    Host: www.whitepages.com
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:57.0) Gecko/20100101 Firefox/57.1
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-US
    Accept-Encoding: gzip, deflate, br
    Referer: https://www.whitepages.com/
    Cookie: ewp=1; eb=99; wp_endemic_provider=K; DG_IID=B43DB3EE-AEC7-3148-BE5C-10CB71364DEA; DG_UID=061EC780-10CD-3FAE-B5DD-7718AF1ADE91; DG_ZID=88A84CD2-5179-3C04-A1D5-BEAFE77B2B38; DG_ZUID=59793DF9-F7AB-36AB-8AC4-37983F84D0AF; DG_HID=50514F7A-DF2D-38C0-9FF5-E097255E31FE; DG_SID=27.3.120.21:0Qt9GdNypDW9fut89eVzVemYUM4uhAjWlu0WMrMDf4A
    DNT: 1
    Connection: keep-alive
    Upgrade-Insecure-Requests: 1

    HTTP/2.0 302 Found
    Date: Sat, 23 Feb 2019 07:02:59 GMT
    Content-Type: text/html
    Content-Length: 154
    Server: nginx
    Location: /
    X-Firefox-Spdy: h2
    Trong đó Data2Post của request https://www.whitepages.com/dstl-wp.js?PID=59D5DB9F-41DA-32FC-86AA-2BA4DD920FC4 đã được iêm decode cho dễ nhìn.

    Từ HTTP Headers trên ta thấy để get source được thì cần có 3 bước:

    1/ Request GET url https://www.whitepages.com/: Khi đó nó sẽ chỉ trả về source bị block bởi javascipt.

    2/ Request POST url https://www.whitepages.com/dstl-wp.js?PID=59D5DB9F-41DA-32FC-86AA-2BA4DD920FC4 trong đó:
    • Chuỗi PID=59D5DB9F-41DA-32FC-86AA-2BA4DD920FC4 có giá trị thay đổi → Để tìm nó cũng đơn giản là tách từ source đã GET được ở bước 1 đoạn html sau:
      HTML:
      <meta http-equiv="refresh" content="10; url=/distil_r_captcha.html?requestId=59D5DB9F-41DA-32FC-86AA-2BA4DD920FC4&httpReferrer=%2F" />
    • Post Data thì nhìn cực kỳ rườm rà, tuy nhiên sau một hồi tìm hiểu thì chả cần tìm gì hết, cứ để Data là p={ } là đủ rồi =)) (Tuy nhiên nhớ encode { } lại mới gửi đi được nhoé)
    3/ Request GET url https://www.whitepages.com/distil_identify_cookie.html?httpReferrer=/&uid=59793DF9-F7AB-36AB-8AC4-37983F84D0AF, trong đó chuỗi uid=59793DF9-F7AB-36AB-8AC4-37983F84D0AF có giá trị thay đổi, chuỗi uid này tìm bằng cách tách ra từ Response Header x-uid của request ở bước 2, dòm Live HTTP Headers là thấy.

    Vậy là xong xuôi, code hoàn chỉnh như sau:
    Mã (AutoIt):
    #include <_HttpRequest.au3>

    ;Bước 1------------------------------------------------------------
    $RQ = _HttpRequest(2, 'https://www.whitepages.com/')
    $PID = StringRegExp($RQ, 'requestId=([\w\-]+)', 1)
    ;Bước 2------------------------------------------------------------
    $ResponseHeader = _HttpRequest(1, 'https://www.whitepages.com/dstl-wp.js?PID=' & $PID[0], 'p=' & _URIEncode('{}'))
    MsgBox(4096, 'Response Header', $ResponseHeader)
    $UID = StringRegExp($ResponseHeader, 'X-UID: (.+)', 1)
    ;Bước 3-----------------------------------------------------------
    $RQ = _HttpRequest(2, 'https://www.whitepages.com/distil_identify_cookie.html?httpReferrer=%2F&uid=' & $UID[0])
    _HttpRequest_Test($RQ)
     
    ------------------------------------------------
    Edit bài: Vừa mới bỏ thử Bước 1 lẫn Regex của Bước 2 thì nó cũng ra luôn, code chỉ cần thế này, hài :v
    Mã (AutoIt):
    #include <_HttpRequest.au3>

    $ResponseHeader = _HttpRequest(1, 'https://www.whitepages.com/dstl-wp.js', 'p=' & _URIEncode('{}'))
    MsgBox(4096, 'Test Response Header', $ResponseHeader)

    $RQ = _HttpRequest(2, 'https://www.whitepages.com/distil_identify_cookie.html') ;Redirect tới trang chủ
    _HttpRequest_Test($RQ)
     
    mick492011 thích bài này.
  13. mick492011

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

    Tham gia ngày:
    1/9/16
    Bài viết:
    6
    Đã được thích:
    0
    Mình hiểu rồi, cảm ơn Huân Hoàng nhiều nhé!
     
  14. Toàn Phạm

    Toàn Phạm Thành viên
    • 8/11

    Tham gia ngày:
    10/9/18
    Bài viết:
    39
    Đã được thích:
    6
    mình đang cần lấy source của trang manvip.club bác nào hướng dẫn giúp em với ạ
     
  15. longtu

    longtu Thành viên
    • 18/23

    Tham gia ngày:
    9/8/17
    Bài viết:
    67
    Đã được thích:
    37
    nó là trang webgame, lấy chỉ được js thôi bác à
     
  16. Toàn Phạm

    Toàn Phạm Thành viên
    • 8/11

    Tham gia ngày:
    10/9/18
    Bài viết:
    39
    Đã được thích:
    6
    Vậy làm sao để lấy source của nó được hả bác
     
  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
    Thým Ctrl+U trên trình duyệt để view source, view-source:https://manvip.club/ có tài nguyên gì không ? Nếu không thì _HttpRequest cũng thế thôi thým ợ, chả được gì đâu :v
     
  18. thuyle

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

    Tham gia ngày:
    4/3/19
    Bài viết:
    7
    Đã được thích:
    0
    em có văn bản dạng hình ảnh bên dưới, muốn request trang https://www.onlineocr.net/ để ORC sang text
    em thử nhiều cách nhưng có lẽ datatosent không đúng.

    mong các bro giúp em.
    thanks các bro
    [​IMG]
     
  19. 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ái trang này iêm có làm lâu rồi, nói chung là không khó nhưng rườm rà do data2send dài dòng. Thôi quăng code luôn chứ hướng dẫn thì gõ mỏi tay =))

    Mã (AutoIt):
    #include <_HttpRequest.au3>
    $captcha = _OCR("đường dẫn ảnh")
    MsgBox(4096, 'Kết quả', $captcha)


    Func _OCR($ImagePath, $iLanguage = Default, $TimeOut = 5000)
        ; $iLanguage: ENGLISH, AFRIKAANS, ALBANIAN, BASQUE, BRAZILIAN, BULGARIAN, BYELORUSSIAN, CATALAN, CHINESESIMPLIFIED, CHINESETRADITIONAL, CROATIAN, CZECH, DANISH, DUTCH, ESPERANTO, ESTONIAN, FINNISH, FRENCH, GALICIAN, GERMAN, GREEK, HUNGARIAN, ICELANDIC, INDONESIAN, ITALIAN, JAPANESE, KOREAN, LATIN, LATVIAN, LITHUANIAN, MACEDONIAN, MALAY, MOLDAVIAN, NORWEGIAN, POLISH, PORTUGUESE, ROMANIAN, RUSSIAN, SERBIAN, SLOVAK, SLOVENIAN, SPANISH, SWEDISH, TAGALOG, TURKISH, UKRAINIAN
        If $iLanguage = Default Or Not $iLanguage Then $iLanguage = 'ENGLISH'
        $rq1 = _HttpRequest(2, 'https://www.onlineocr.net/')
        $__VIEWSTATE = StringRegExp($rq1, '"__VIEWSTATE" .*?value="(.*?)"', 1)
        If @error Then Return SetError(1, '', '')
        $__VIEWSTATEGENERATOR = StringRegExp($rq1, '"__VIEWSTATEGENERATOR" .*?value="(.*?)"', 1)
        If @error Then Return SetError(2, '', '')
        $__EVENTVALIDATION = StringRegExp($rq1, '"__EVENTVALIDATION" .*?value="(.*?)"', 1)
        If @error Then Return SetError(3, '', '')
        $FileNameEx = StringFormat('%04d%02d%02d%02d%02d%02d', @YEAR, @MON, @MDAY, @HOUR - (@HOUR > 12 ? 12 : 0), @MIN, @SEC)
        ;-----------------------------------------------------------------------------------------
        Local $FormData = [['__EVENTTARGET', ''], ['__EVENTARGUMENT', ''], ['__VIEWSTATE', $__VIEWSTATE[0]], ['__VIEWSTATEGENERATOR', $__VIEWSTATEGENERATOR[0]], ['__EVENTVALIDATION', $__EVENTVALIDATION[0]], ['ctl00$MainContent$comboLanguages', $iLanguage], ['ctl00$MainContent$comboOutput', 'Text Plain (txt)'], ['ctl00$MainContent$hdnFullPath', '-1'], ['ctl00$MainContent$hdnFileName', '-1'], ['ctl00$MainContent$hdnFileNameEx', $FileNameEx], ['$files[]', $ImagePath]]
        $rq2 = _HttpRequest(2, 'https://www.onlineocr.net/FileHandler.ashx', $FormData, '', 'https://www.onlineocr.net/', 'X-Requested-With: XMLHttpRequest')
        $filePathHost = StringRegExp($rq2, '"original_name":"(.*?)"', 1)
        If @error Then Return SetError(4, '', '')
        $fileName = StringRegExp($rq2, 'fileName=(.*?)"', 1)
        If @error Then Return SetError(5, '', '')
        ;-----------------------------------------------------------------------------------------
        $rq3 = _HttpRequest(2, 'https://www.onlineocr.net/', 'ctl00%24MainContent%24ScriptManager1=ctl00%24MainContent%24UpdatePanel2%7Cctl00%24MainContent%24btnOCRConvert&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=' & _URIEncode($__VIEWSTATE[0]) & '&__VIEWSTATEGENERATOR=' & $__VIEWSTATEGENERATOR[0] & '&__EVENTVALIDATION=' & _URIEncode($__EVENTVALIDATION[0]) & '&ctl00%24MainContent%24comboLanguages=' & $iLanguage & '&ctl00%24MainContent%24comboOutput=' & _URIEncode('Text Plain (txt)') & '&ctl00%24MainContent%24hdnFullPath=' & _URIEncode($filePathHost[0]) & '&ctl00%24MainContent%24hdnFileName=' & $fileName[0] & '&ctl00%24MainContent%24hdnFileNameEx=' & $FileNameEx & '&__ASYNCPOST=true&ctl00%24MainContent%24btnOCRConvert=CONVERT', '', '', 'X-Requested-With: XMLHttpRequest')
        $__VIEWSTATE = StringRegExp($rq3, '__VIEWSTATE\|(.*?)\|', 1)
        If @error Then Return SetError(6, '', '')
        $__VIEWSTATEGENERATOR = StringRegExp($rq3, '__VIEWSTATEGENERATOR\|(.*?)\|', 1)
        If @error Then Return SetError(7, '', '')
        $__EVENTVALIDATION = StringRegExp($rq3, '__EVENTVALIDATION\|(.*?)\|', 1)
        If @error Then Return SetError(8, '', '')
        ;-----------------------------------------------------------------------------------------
        $sTimer = TimerInit()
        Do
            Sleep(200)
            $rq4 = _HttpRequest(2, 'https://www.onlineocr.net/', 'ctl00%24MainContent%24ScriptManager1=ctl00%24MainContent%24ScriptManager1%7Cctl00%24MainContent%24Timer1&ctl00%24MainContent%24comboLanguages=' & $iLanguage & '&ctl00%24MainContent%24comboOutput=' & _URIEncode('Text Plain (txt)') & '&ctl00%24MainContent%24hdnFullPath=' & _URIEncode($filePathHost[0]) & '&ctl00%24MainContent%24hdnFileName=' & $fileName[0] & '&ctl00%24MainContent%24hdnFileNameEx=' & $FileNameEx & '&__EVENTTARGET=ctl00%24MainContent%24Timer1&__EVENTARGUMENT=&__VIEWSTATE=' & _URIEncode($__VIEWSTATE[0]) & '&__VIEWSTATEGENERATOR=' & $__VIEWSTATEGENERATOR[0] & '&__EVENTVALIDATION=' & _URIEncode($__EVENTVALIDATION[0]) & '&__ASYNCPOST=true&', '', '', 'X-Requested-With: XMLHttpRequest')
            $KQ = StringRegExp($rq4, '(?is)<textarea[^>]*?>\R?(.*?)\R?</textarea>', 1)
        Until Not @error Or TimerDiff($sTimer) > $TimeOut
        If IsArray($KQ) Then Return _HTMLDecode($KQ[0])
        Return SetError(9, '', '')
    EndFunc
     
    Vi dụ OCR cái ảnh của thým:

    [​IMG]
     
    Anh Gấu and thuyle like this.
  20. thuyle

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

    Tham gia ngày:
    4/3/19
    Bài viết:
    7
    Đã được thích:
    0
    Thanks bro Huân Hoàng:):););)(y)(y)(y)(y)(y)(y)(y)(y)
     

Chia sẻ trang này

Đang tải...