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ỏi đáp Nhờ giúp đỡ về sử dụng web api để Up ảnh

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi srenuvon, 24/10/17.

Tags:
  1. srenuvon

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

    Tham gia ngày:
    24/10/17
    Bài viết:
    2
    Đã được thích:
    0
    em có 1 website cung cấp API cho phép upload ảnh và sau đó server xử lý trả về dữ liệu Json
    api đó dạng: api.website.com/image/upload?api="apikey"&url="đường dẫn hình ảnh"
    khi ấn vào link trên thì dữ liệu trả về dạng json
    Vậy các pro cho em hỏi em dùng hàm gì để request dạng link vậy và lấy dữ liệu về như thế nào ạ
     
  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
    Thým có thể tham khảo bài viết của iêm tại đây:

    http://autoitvn.com/threads/ver-12-...dau-vi-du-hinh-anh-cac-buoc-lam-chi-tiet.267/

    Đọc file Help hướng dẫn (_HttpRequest_Help.chm):
    - Phần Functions, xem các hàm _HttpRequest_CreateDataForm, _GetFileInfo...
    - Phần Practice, Mục POST → application/json
    - Phần Practice, Mục POST → multipart/data-form

    Ví dụ một đoạn code mẫu up ảnh lên imgUr chỉ trong 2 dòng:
    Mã (AutoIt):
    #include <_HttpRequest.au3>
    Local $sImagePath = FileOpenDialog("Choose Pic to post", "", "Image (*.jpg;*.png;*.gif;*.bmp)", 4)
    If @error Then Exit
    ;--------------------------------
    Local $aFormData = ['key=3e3372851e5ea5427a47386534a38b7e329bae5a', '$image=' & $sImagePath]
    Local $RQ = _HttpRequest(2, 'https://api.imgur.com/3/upload.xml', $aFormData, '', '', 'Authorization: Client-ID fe1c2fc851810ef')
    ;--------------------------------
    $Link = StringRegExp($RQ, '\<link\>(.*?)\<\/link\>', 1)
    If @error Then Exit MsgBox(4096, 'Lỗi', 'Upload Thất bại')
    $Link = $Link[0]
    ;--------------------------------
    ShellExecute($Link)
     
  3. srenuvon

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

    Tham gia ngày:
    24/10/17
    Bài viết:
    2
    Đã được thích:
    0
    Em dùng API của trang này: https://api.ocr.space/parse/imageurl?apikey=helloworld&url=http://i.imgur.com/fwxooMv.png
    Vậy code của em là như vầy mà không nhận dc kq gì hết ạ.

    #include <_HttpRequest.au3>
    $rq = _HttpRequest(7, 'https://api.ocr.space/parse/imageurl','apikey=helloworld&url=http://i.imgur.com/fwxooMv.png')

    MsgBox(4096, 'Kết quả', $rq)
     
  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
    Muốn lấy data trả về thým dùng $iReturn = 2, muốn lấy header trả về thì dùng $iReturn = 1. Thým để $iReturn = 7 không ra là đúng rồi =.="
    Với lại lưu ý là nếu đọc kỹ tài liệu sử dụng api của trang này thì thým sẽ thấy method request của api này là GET, thým để _HttpRequest có Data2Send thì nó thành POST nên cũng sai rồi, có 2 cách để force một request GET khi có Data2Send:
    - Cách 1 là gán tham số $oVerb = GET để force nó gửi method GET.
    Mã (AutoIt):
    #include <_HttpRequest.au3>
    $rq = _HttpRequest(2, 'https://api.ocr.space/parse/imageurl','apikey=helloworld&url=http://i.imgur.com/fwxooMv.png','', '', '', 'GET')
    MsgBox(4096, 'Kết quả', $rq)
    - Cách 2 là nối Data2Send vào URL luôn, 2 thằng này nối nhau bằng dấu ?
    Mã (AutoIt):
    #include <_HttpRequest.au3>
    $rq = _HttpRequest(2, 'https://api.ocr.space/parse/imageurl?apikey=helloworld&url=http://i.imgur.com/fwxooMv.png')
    MsgBox(4096, 'Kết quả', $rq)
    Đơn giản như đang giỡn thôi, thým chú ý xíu là làm được :v Mà thým nên xem kỹ _HttpRequest_Help.chm phần "FUNCTIONS" > Mục "_HttpRequest và các tham số của nó" nhoé, phần này quan trọng nhất trong các phần hướng dẫn.

    [​IMG]
     

Chia sẻ trang này

Đang tải...