Jump to content
Đăng nhập để theo dõi  
Huân Hoàng

_HttpRequest - UDF request đơn giản cho người tập tành làm http request - Chi tiết, dễ hiểu, dễ làm

Recommended Posts

* Chú ý: WinHttp trên WinXP không còn support hầu như các trang Https nên UDF chạy tốt nhất từ Win7 trở lên.
 

A/ LỜI NÓI ĐẦU
- UDF dựa trên nền tảng của WinHttp.dll có sẵn của Window nên còn hạn chế rất nhiều mặt như tương tác sâu và session, không xài SOCKS để cài đặt proxy được... Còn lại thì nói chung xài rất ổn. :a08:
- Mình không phải dân lập trình, chỉ là mê AutoIt, tập tành code kiết này nọ nên có thể kiến thức, lý thuyết, cách gọi …trong lập trình của mình không chính xác và chuẩn lắm, mong các bạn thông cảm. :oops::a35:
- Dùng WinHttp theo mình thì đây là phương thức gửi nhận dữ liệu mạng không cần qua 1 cái Web Browser trung gian. Ví dụ bình thường bạn muốn tải nhạc, bạn vào Chrome, vào ZingMp3, lựa bài muốn tải, bấm Tải về. Còn khi dùng WinHttp, đơn giản, bạn code 1 chương trình gửi 1 thông tin đến ZingMp3 rằng bạn muốn tải bài đó và nhận dữ liệu gửi về, không cần qua một chương trình nào khác nữa.:a48:
- Đây là bài viết dành cho những ai đang mới bắt đầu tìm hiểu về WinHttp, mình thì chỉ nắm những cái gọi là cơ bản thôi, nói chung là vừa đủ xài để ra cái kết quả cuối cùng hay nói nôm na là thực hành nhiều để ra cái kinh nghiệm, chứ về lý thuyết, trả lời các câu hỏi tại sao, vì sao phải làm như vậy thì…mình không biết. :p:a28:



B/ CÁC YÊU CẦU ĐẦU TIÊN

1- Trong bài hướng dẫn, toàn bộ thông tin gửi nhận request mình dùng addon Live HTTP Headers trên Firefox để xem. Nếu chưa cài bạn có thể vào đây tải về: (Lưu ý là addon này chỉ chạy trên Firefox bản 57 trở về trước, bản mới sau này không cài được). Nếu đã quen thuộc với request rồi bạn có thể sử dụng chức năng Develop có sẵn của trình duyệt (bấm F12 trên bàn phím, sau đó chọn tab Network) để xem request cho tiện hoặc các phần mềm như HttpAnalysis, Fiddler...

[IMG]

 

  • Sau khi cài xong ta vào Tab Config, sau đó tích chọn Exclude URLS with regexp và paste vào ô kế bên nội dung sau:
Mã (Text):
^https://safebrowsing-cache.google.com|^https://scontent-hk|edge-chat.facebook.com|facebook.com/feed/badge/|facebook.com/a/bz$|^https://pixel.facebook.com|.gif$|.jpg$|.ico$|.css$|.js$|.png$|googleads|eclick.vn|doubleclick.net|ants.vn|\.css\?v=|adsplay|google-analytics.com
  • Mục đích của việc trên là để lọc bớt những request thừa, bởi khi chạy Live HTTP Headers sẽ có rất nhiều request hiển thị và rất rối mắt nếu không quen.
[IMG]



2- Tải về UDF _HttpRequest.au3 + Tập tin trợ giúp _HttpRequest Help.chm:

  • Giờ đây tất cả hướng dẫn, mẹo vặt, code... mình đều đã tổng hợp toàn bộ trong file Help này. Hy vọng nó sẽ giúp ích thật nhiều cho các bạn trong việc học về request bằng WinHttp/_HttpRequest
  • Link tải (14.0.6 - 23/07/2019): https://drive.google.com/open?id=1AS2mWTKMF5btxyULhh8JIGqD_9yxshif
  • Sửa lỗi mở file Help mà chỉ ra trang trắng không có nội dung: Nhấp phải vào file _HttpRequest_Help.chm, chọn Properties, sau đó tích chọn Unblock, cụ thể sẽ như hình hướng dẫn bên dưới:
 
[IMG]


3- Cài CallTips cho SciTE: Việc này khá quan trọng bởi vì số lượng hàm là rất nhiều, calltips sẽ giúp ích cho việc code nhanh chóng hơn và không mất nhiều thời gian để nhớ đến tên hàm. Thực hiện cài calltips như sau:

  • Mở file _HttpRequest_Help.chm đã tải ở link trên.
  • Vào mục Introduction.
  • Vào mục CallTips.
  • Làm theo hướng dẫn đã nói rất rõ trong mục CallTips vừa mở.

 

[IMG]



4- Đọc kỹ hướng dẫn về StringRegExp (tách chuỗi) bởi nó sẽ được sử dụng rất nhiều khi làm về request. Ít nhất phải nắm được căn bản của hàm StringRegExp mới có thể đọc hiểu các ví dụ và thực hành. File _HttpRequest_Help.chm đã có 2 bài viết về StringRegExp, 1 bài đơn giản là do mình viết, một bài là do lazycat (diễn đàn hocautoit.com cũ) viết.


[IMG]



5- Đọc thật kỹ nội dung _HttpRequest_Help.chm về hàm chính _HttpRequest và các tham số của nó điều này hết sức quan trọng vì đây là hàm chủ chốt thực hiện request và liên quan đến tất cả các hàm bổ trợ còn lại của UDF.
 

[IMG]


 

------------------------------------***----------------------------------------

OK, đó là 5 điều cần làm trước khi đi tiếp vào con đường request rắc rối này.:a31:
 

File _HttpRequest_Help.chm đã bao gồm:

  • Ví dụ mẫu trong tất cả các hướng dẫn sử dụng các hàm trong UDF.
  • Phần Practice cung cấp những bài tập request từ cơ bản đến phức tạp hơn.

 

[IMG]

[IMG]

Để chạy thử code mẫu, bạn có thể bấm nút Copy To Clipboard như đã thấy ở hình trên rồi paste vào SciTe là xong.

Chúc các bạn học request thành công.:a08:

 

  • Like 2
  • Haha 1

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites

Em chào a, em từng xem bài dùng request để dịch 1 đoạn có sử dụng request của a.
Em thắc mắc, nếu mình muốn dùng gg dịch nhưng âm thanh thì sao ạ.
Tức mình ghi âm 1 đoạn xong up lên gg dịch thì sao a.

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
22 giờ trước, Nguyễn Hoàng Vũ said:

Em chào a, em từng xem bài dùng request để dịch 1 đoạn có sử dụng request của a.
Em thắc mắc, nếu mình muốn dùng gg dịch nhưng âm thanh thì sao ạ.
Tức mình ghi âm 1 đoạn xong up lên gg dịch thì sao a.

ý bạn là từ 1 file mp3 trên máy -> 1 văn bản chữ ??? ( tiếng anh hay tiếng nào bạn ??)

  • Yêu thích 1

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
On 20/1/2019 at 23:12, Admin said:

ý bạn là từ 1 file mp3 trên máy -> 1 văn bản chữ ??? ( tiếng anh hay tiếng nào bạn ??)

Tiếng nào cũng được a ? Ý em thêm phần chọn ngôn ngữ được k ạ. mà em cần nhất tiếng anh + việt ạ.

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
15 giờ trước, Nguyễn Hoàng Vũ said:

Tiếng nào cũng được a ? Ý em thêm phần chọn ngôn ngữ được k ạ. mà em cần nhất tiếng anh + việt ạ.

Một bước ra thì tớ không chắc lắm, nhưng bạn nên làm mấy bước như sau : từ file mp3 tiếng anh -> qua (google speech to text) chuyển sang chữ -> sau đó từ chữ bạn sẽ dịch sang tiếng việt. Còn về tiếng việt google nó có nghe ra không để chuyển sang chữ thì độ tin cậy cũng k cao lắm bạn nhóe :D ..
 

  • Like 1

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
On 20/1/2019 at 00:25, Nguyễn Hoàng Vũ said:

Em chào a, em từng xem bài dùng request để dịch 1 đoạn có sử dụng request của a.
Em thắc mắc, nếu mình muốn dùng gg dịch nhưng âm thanh thì sao ạ.
Tức mình ghi âm 1 đoạn xong up lên gg dịch thì sao a.

Google Dịch không có chức năng đó nhoé thým, thým có thể tham khảo các api liên Speech Recognition của Google, Microsoft hoặc dễ nhất là hàng nội openfpt https://docs.openfpt.vn/#api-speech-recognition

  • Like 1

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
12 giờ trước, Nguyễn Hoàng Vũ said:

Chán quá. A Huân rảnh làm bài hướng dẫn cách request nâng cao tay nghề đi a.

cái mớ trong file help đó cả một khối đấy mà iêm áp dụng còn chưa xuể... thím muốn nâng cao phần nào nữa ;)):a46:

  • Haha 1

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
On 13/2/2019 at 09:37, Trinh Qun Ly said:

cái mớ trong file help đó cả một khối đấy mà iêm áp dụng còn chưa xuể... thím muốn nâng cao phần nào nữa ;)):a46:

Em áp dụng 1 mảng thôi k phải là cả request nên xem cũng ít nên mới kiếm cái cao siêu về phần đó học cho vui thôi bác. chứ kham hết master như a Huân sao nổi

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
On 17/2/2019 at 09:49, Nguyễn Hoàng Vũ said:

Em áp dụng 1 mảng thôi k phải là cả request nên xem cũng ít nên mới kiếm cái cao siêu về phần đó học cho vui thôi bác. chứ kham hết master như a Huân sao nổi

Vâng, thì iêm thấy toàn chuyên request thây, như request google, request cloudflare =)) thím request về cái gì ạ ?

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Trả lời chủ đề này...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Đăng nhập để theo dõi  

×
×
  • Create New...