2011-12-19 29 views
5

Tôi đang cố gắng cách ly một lỗi tồn tại trong trình khách HTTP httplib2 của Python hoặc một API. (Đầu tiên là API.) Trong khi sử dụng httplib2 để POST dữ liệu vào RESTful API, tôi nhận được trạng thái phản hồi 401 (không được phép) lưu dữ liệu vào API.Làm cách nào để kiểm tra thông tin liên lạc mạng của Máy khách HTTP Python?

Tôi muốn kiểm tra yêu cầu HTTP và phản hồi cho khách hàng, các chuỗi rất được đưa vào và nhận được từ mạng. Mã httplib2 dường như quá tham gia để dễ dàng nắm bắt các giá trị từ bên trong nó, và có thể có thể bỏ sót lỗi.

Có vẻ như nhanh hơn khi xem các liên lạc mạng với khách hàng. Có một số công cụ tôi có thể sử dụng để giám sát các giao tiếp của khách hàng với ổ cắm mạng cục bộ không?

+0

[Wireshark] (http://www.wireshark.org/) – JBernardo

+0

Thay đổi ['httplib2.debuglevel'] (http://bitworking.org/projects/httplib2/doc/html/libhttplib2.html#httplib2 .debuglevel) không tạo ra bất kỳ điều gì hữu ích? –

+0

Chưa xem xét điều đó. – chernevik

Trả lời

4

Tôi sử dụng http://www.charlesproxy.com để gỡ lỗi toàn bộ mạng của mình.

+1

Mất một chút thời gian để tìm hiểu cách sử dụng, nhưng điều này đã làm những gì tôi đang tìm kiếm. Noobs giống như bản thân mình: Chụp lưu lượng với curl/python yêu cầu bật SSL Proxying trong Charles cho máy chủ đích của bạn (có thể là các cách khác nhau cho các máy khách khác nhau) và định tuyến các yêu cầu curl/python của bạn thông qua proxy localhost do Charles cung cấp. Mà bây giờ dường như mặc định đến cổng 8888, thay vì 8080 được đề cập trong tài liệu. – chernevik

+0

Làm cách nào để định tuyến các yêu cầu python thông qua proxy Charles mà không thay đổi mã nguồn của libs bạn đang sử dụng? – Anentropic

+0

xấu của tôi ... bạn phải thêm cụ thể các tên miền bạn muốn proxy trong cấu hình Charles SSL, để nắm bắt các yêu cầu https, sau đó nó hoạt động minh bạch cho python – Anentropic

1

http://www.wireshark.org/ cũng cho phép bạn giám sát các ổ cắm cục bộ. Tôi đã có thể theo dõi vòng lặp cục bộ ngay cả trên các cửa sổ bằng cách sử dụng tuyến đường thêm lừa.

http://wiki.wireshark.org/CaptureSetup/Loopback séc khác Alternatives

Hoặc bạn chỉ có thể viết máy chủ socket thô mà nghe về phía khách hàng trên một cổng và gửi dữ liệu đến máy chủ trên cổng khác và ngược lại và in ra tất cả các dữ liệu. Không nên dùng quá tá dòng mã

+0

công cụ tuyệt vời, nhưng không thể tìm thấy đường dẫn để xem đối thoại khách/máy chủ qua SSL – chernevik

Các vấn đề liên quan