Browsed by
Month: February 2015

Doggy – Love Bunnies – Slow Lovin’

Doggy – Love Bunnies – Slow Lovin’

Làm bữa giờ cũng gần tháng rồi, nhưng giờ mới post, nhét hết vào luôn một chỗ.
Đống này là kết quả của nhiều thứ deadline dồn ứ vào nhau trong nhiều lúc. :3 Kit này mình cũng không có luôn, nên các bạn khỏi hỏi xin làm gì cho mất công. :3

Doggie

Love Bunnies

Slow Lovin’

[Ebook] HTTP và API

[Ebook] HTTP và API

Chào các bạn, hôm bữa sau khi post cái bài HTTP thì có một vài bạn pm hỏi về chuyện HTTP. Cái này cũng không ngắn gọn, nhưng mà cũng không khó gì. Trước mình vô tình đào được quyển ebook, đọc cũng khá tâm đắc. Giờ share các bạn đọc chơi cho vui :3

HTTP Succinctly

Quyển này là của Syncfusion nó xuất bản, viết đơn giản dễ hiểu, nó sẽ cung cấp cho bạn những kiến thức cơ bản về HTTP, request, response,… và các thứ linh tinh liên quan, nâng cao thêm thì có thêm các vấn đề về connection, authentication,…

Mục lục của nó như này:

  • The Story behind the Succinctly Series of Books
  • About the Author
  • Introduction
  • Chapter 1: Resources
    • Resource Locators
    • Ports, Query Strings, and Fragments
    • URL Encoding
    • Resources and Media Types
    • A Quick Note on File Extensions
    • Content Type Negotiation
    • Where Are We?
  • Chapter 2: Messages
    • Requests and Responses
    • A Raw Request and Response
    • HTTP Request Methods
    • GET and Safety
    • Common Scenario—GET
    • Scenario—POST
    • Forms and GET Requests
    • A Word on Methods and Resources
    • HTTP Request Headers
    • The Response
    • Response Status Codes
    • HTTP Status Codes versus Your Application
    • Response Headers
    • Where Are We?
  • Chapter 3: Connections
    • A Whirlwind Tour of Networking
    • Quick HTTP Request with Sockets and C#
    • Networking and Wireshark
    • HTTP, TCP, and the Evolution of the Web
    • Parallel Connections
    • Persistent Connections
    • Pipelined Connections
    • Where Are We?
  • Chapter 4: Web Architecture
    • Resources Redux
    • The Visible Protocol—HTTP
    • Adding Value
    • Proxies
    • Caching
    • Where Are We?
  • Chapter 5: State and Security
    • The Stateless (Yet Stateful) Web
    • Identification and Cookies
    • Setting Cookies
    • HttpOnly Cookies
    • Types of Cookies
    • Cookie Paths and Domains
    • Cookie Downsides
    • Authentication
    • Basic Authentication
    • Digest Authentication
    • Windows Authentication
    • Forms-based Authentication
    • OpenID
    • Secure HTTP
    • Where Are We?

Tóm lại là quyển này chất, đọc xong phát là nắm được nền tảng HTTP, đủ làm mấy app di động cơ bản linh tinh.

Các bạn có thể tải nó ở đây:

https://www.syncfusion.com/resources/techportal/ebooks/http

Chịu khó reg cái acc, rồi tải xả láng, mấy quyển ebook khác của Syncfusion cũng khá chất, bị cái là ông nội này spam mail hơi nhiều, có gì các bạn cân nhắc sử dụng mail rác khi đăng kí :3

Web API Design

Quyển này thì thiên về server side hơn, tuy nhiên, nó sẽ cũng cấp cho các bạn cái nhìn tổng quan về cách build một hệ thống api, từ việc đơn giản như sử dụng các convention đến các vấn đề nâng cao hơn như pagination, authentication,… để các bạn có thể nắm được tình hình chung của các loại api mà các bạn đã, đang và sẽ sử dụng. Nó không chỉ có ích cho server side mà các bạn làm client side chắc cũng sẽ học hỏi được rất nhiều.

Mục lục của nó như vầy:

  • Introduction
  • Nouns are good; verbs are bad
  • Plural nouns and concrete names
  • Simplify associations – sweep complexity under the ‘?’
  • Handling errors
  • Tips for versioning
  • Pagination and partial response
  • What about responses that don’t involve resources?
  • Supporting multiple formats
  • What about attribute names?
  • Tips for search
  • Consolidate API requests in one subdomain
  • Tips for handling exceptional behavior
  • Authentication
  • Making requests on your API
  • Chatty APIs
  • Complement with an SDK
  • The API Façade Pattern

Link download của nó thì ở đây:

http://apigee.com/about/resources/ebooks/web-api-design

Vào điền cái form bé bé rồi tải :3 cứ điền đại cái mail fake là được :3 Quyền này do apigee phát hành, ngoài quyển này ra thì apigee còn vài quyển nữa, nhưng mà đa phần là bên business, các bạn hứng thú thì kéo về đọc, không thì thôi :3

Kết

Chả có kết vẹo gì đâu, tất cả chỉ có vậy, chúc các bạn đọc sách vui vẻ! :3

YOLO \m/

 

Bắt HTTP Request trên máy ảo iOS

Bắt HTTP Request trên máy ảo iOS

Hoàn cảnh

Mấy nay đang đánh vật với cái app gửi rồi nhận HTTP request các kiểu. Phải là đang xài Windows thì còn đỡ, có Fiddler thần thánh thì đừng hỏi (không có Fiddler chắc không tồn tại một số không nhỏ các app trên WP Store :3 ). Nhưng mà trên Mac thì không có sẵn vậy. Mặc dù source .NET core đã public nhưng mà chắc vẫn phải chờ một thời gian nữa trước khi các app .NET được port qua cho Mac. Hàng free như Wireshark thì không đủ trình xài, hàng chất như Charles thì không có tiền xài. Thành ra bữa giờ đều phải xài dev tool của trình duyệt, ngồi bắt request rồi code giả lập trở lại.

Rắc rối xảy ra khi vừa nãy gửi một cái GET request từ code, đặt breakpoint trong callback nhưng hoàn toàn không thấy gọi về. Cay! Quyết tâm đào lại Google một lần nữa, lần này thì đào được cái Burp Suite này. Thằng này bản full của nó cũng một đống tiền, hên cái là bản free vẫn đáp ứng đủ yêu cầu. Thế là kéo về chiến.

Cài

Thằng này viết bằng Java nên các bạn chịu khó cài JRE các kiểu trước khi chạy. Chạy được rồi thì vẫn chưa xài được đâu, phải vào config cho nó tí. Trong giao diện chính của nó, các bạn đổi qua tab Proxy (và chúng ta cũng chỉ chủ yếu là việc ở tab này thôi), trong tab Options, các bạn chọn item mặc định có sẵn trong khung Proxy Listeners rồi click Edit. Cửa sổ khác hiện ra, các bạn tick vào tùy chọn All interfaces. Thế là xong, cứ ok hết các kiểu, nó có hiện thông báo gì cũng mặc kệ nó.

Tiếp theo là config cho máy. Các bạn vào System References > Network > chọn connection nào mà bạn muốn theo dõi rồi nhấn Advanced. Cửa sổ hiện ra, các bạn đổi qua tab Proxies rồi enable cái Web Proxy (HTTP) lên, ở phần Web Proxy Server, các bạn tiến hành set Server như hình, port thì phải giống với cái port mới config khi nãy bên thằng Burp Suite. Nếu các bạn muốn bắt thêm HTTPS thì enable luôn thằng ở dưới rồi set thông số tương tự. (Nhưng mà tí nữa xài xong thì nhớ disable tụi này đi :v)

Giờ quay lại thằng Burp Suite, thử reload vài trang bằng trình duyệt để test, thằng Burp Suite nó sẽ bắt hết HTTP request rồi nhét vào tab HTTP history. Đến đây muốn xài với máy ảo thì các bạn tiến hành restart máy ảo (nếu đang chạy) hoặc chạy nó rồi xài. Lưu ý là giữa các lần thay đổi proxy cho máy thì chúng ta phải restart máy ảo thì thay đổi mới có tác dụng.

Nếu

Câu hỏi là: máy ảo chạy ngon rồi, giờ giả dụ deploy ra chạy trên máy thật rồi muốn bắt thì phải làm sao? Cái này cũng không khó, trên iOS device các bạn connect vào cùng một mạng với Mac, sau đó set Manual Proxy bằng cách vào Settings > Wi-Fi > chọn mạng đang connect, kéo xuống dưới cùng rồi set thông tin server + port tương ứng.

Câu hỏi tiếp theo là: port thì biết rồi, y chang khi nãy, còn server thì lấy đâu ra? Câu trả lời là server chính là local IP của Mac, muốn xem cái này thì trên Mac các bạn mở Network References ra (ở đâu chắc khỏi nói nữa ha :v), IP nó sẽ nằm ngay dưới Connection Status.

Kết

Mình vừa xài thử, tất nhiên là không đã như Fiddler, nhưng mà nói chung cũng thỏa mãn, hàng free không dám đòi hỏi nhiều :3 Có điều cài xong ngồi bắt request cho đã vẫn không thấy callback được gọi. PM hỏi thánh thì thánh chỉ, hóa ra là do chơi ngu, đặt breakpoint trong success callback mà không đặt trong failure callback :'( request bị lỗi, nó không gọi về là phải :'(

Chúc các bạn thành công!

YOLO \m/