Làm cách nào để hiển thị lưu lượng localhost trong Fiddler khi gỡ lỗi ứng dụng ASP.NET?


Câu trả lời:


87

hãy thử sử dụng cái này:

http://ipv4.fiddler/folder

thay vì

http://localhost/folder

điều này cũng hoạt động với các cổng

http://ipv4.fiddler:12345/folder

Đây là liên kết đến tài liệu fiddler

http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/MonitorLocalTraffic


Lưu ý: Điều này chỉ bắt buộc đối với IE và chỉ IE8 trở về trước. <= IE8 quá thông minh, nó BIẾT rằng bạn sẽ không muốn sử dụng máy chủ proxy cho lưu lượng truy cập cục bộ! Vì vậy, nó thấy 'localhost' trong url của bạn và không bận tâm với các thiết lập máy chủ proxy ngớ ngẩn của mình, đó là cách Fiddler móc trong.
Scott Stafford

52

Để làm cho Fiddler hoạt động trên localhost với IIS Express, bạn nên sử dụng mẫu URL này

http://localhost.fiddler:50262/

Điều này đặt giá trị tiêu đề máy chủ lưu trữ chính xác (localhost) đáp ứng IIS Express.


Điều này có tác dụng đối với tôi khi cố gắng sử dụng nhập nguồn cấp dữ liệu OData Excel từ trang web thử nghiệm của tôi đang chạy trong Visual Studio / IIS Express.
Keith Hill

Đập đầu vào tường, điều này cũng có tác dụng với tôi !! Cảm ơn!
sǝɯɐſ

Điều này hoạt động cho api web IIS express Asp.net được lưu trữ cục bộ. hoan hô.
Raghu

19

Khởi động Fiddler. Đi tới Công cụ -> Tùy chọn Fiddler. Chọn tab Kết nối. Kiểm tra tùy chọn 'USe PAC Script'.

Giờ đây, bạn cũng có thể theo dõi lưu lượng truy cập địa phương


1
Tôi đã gặp sự cố khi thêm. với SSl và proxy công ty của chúng tôi, nhưng thay đổi cài đặt này đã thực hiện một mẹo nhỏ. Cảm ơn!
AlignedDev

12

Đối với một dự án trang web ASP.NET:

1) Nhấp chuột phải vào dự án và chọn Trang thuộc tính
2) Chọn Tùy chọn bắt đầu
3) Trong phần Máy chủ, nhấp vào "Sử dụng máy chủ tùy chỉnh" và chỉnh sửa URL cơ sở bằng cách thay thế localhost bằng tên máy tính của bạn.


7

Có lẽ cách dễ nhất để theo dõi lưu lượng truy cập vào localhost là thay thế "localhost" bằng "localhost". trong thanh URL của trình duyệt. Ví dụ

http://localhost./MyApp/default.aspx

3

Kiểm tra liên kết này ... 'giải pháp thay thế' là hacky, nhưng nó hoạt động:

Mẹo sử dụng Fiddler trên localhost


Tôi đã thử phương pháp đó và nó sẽ nhắc tôi với thông tin đăng nhập IE bật lên. Tôi nhập thông tin đăng nhập người dùng AD của mình và nhận được đăng nhập HTTP 401.1 Không thành công.
Michael Kniskern

Tôi đã cung cấp một câu trả lời với một gợi ý trong một trong các nhận xét từ bài đăng trên blog.
Michael Kniskern

3

Bạn có thể sử dụng tên máy chủ PC thay vì 127.0.0.1 hoặc localhost


3

Kiểm tra "Sử dụng Tập lệnh PAC" trong Tùy chọn Fiddler -> Kết nối phù hợp với tôi khi sử dụng IIS Express trong mạng nội bộ của công ty.


Cũng không chắc điều gì đã xảy ra, nhưng gần đây tôi đã nâng cấp fiddler lên v4.6.2.2 và việc kiểm tra "Tập lệnh Usa PAC" đã thực sự ngừng hoạt động của fiddler. Tôi đã phải bỏ chọn tùy chọn để có được mọi thứ hoạt động trở lại ...
David Norris-Hill

3

Sử dụng Fiddler v4:

  1. Kiểm tra cài đặt proxy IE của bạn

IE-> Công cụ-> Tùy chọn Internet-> Kết nối-> Cài đặt Lan

Cài đặt IE Lan

  1. Kiểm tra cài đặt của bạn trong Fiddler:

Fiddler -> Options-> Connections & Https

Kiểm tra cổng Fiddler, mặc định là 8888 Cổng Fiddler

  1. Trong Fiddler-Menu:

File -> Capture Traffic được chọn

Giải pháp sau đây phù hợp với tôi, khi sử dụng

  • HttpClient hoặc
  • WebClient từ bên trong ứng dụng ASP.NET.

Web.config

<system.net>
    <defaultProxy
                enabled = "true"
                useDefaultCredentials = "true">
      <proxy autoDetect="False" bypassonlocal="False" proxyaddress="http://127.0.0.1:8888" usesystemdefault="False" />
    </defaultProxy>

:

var resourceServerUri = new Uri("http://localhost.fiddler:YourAppServicePort");
var body = c.GetStringAsync(new Uri(resourceServerUri)).Result;



Kiểm tra xem yêu cầu của bạn có thực sự đến được với fiddler hay không bằng cách tùy chỉnh tập lệnh Fiddler Rules

Fiddler-> Quy tắc-> Tùy chỉnh quy tắc

và tham gia vào sự kiện OnBeforeRequest :

static function OnBeforeRequest(oSession: Session) {

if (oSession.hostname.Contains("localhost:YourPortNumber")
{
 System.Windows.Forms.MessageBox.Show(oSession.hostname);  
} 

Hoặc rõ ràng bằng cách đặt proxy web

WebClient wc = new WebClient();

WebProxy proxy = new WebProxy();
// try one of these URIs
proxy.Address = new Uri("http://127.0.0.1:8888");
proxy.Address = new Uri("http://hostname:8888");
proxy.Address = new Uri("http://localhost.fiddler");
proxy.Address = new Uri("http://ipv4.fiddler");
// https://en.wikipedia.org/wiki/IPv6
proxy.Address = new Uri("http://ipv6.fiddler");

proxy.BypassProxyOnLocal = false; wc.Proxy = proxy;
var b = wc.DownloadString(new Uri(YourResourceServerBaseAddress));

2

Đảm bảo rằng trong Fiddler Connections của bạn rằng localhost không có trong hộp "IE nên bỏ qua Fiddler cho các URL bắt đầu bằng:".


1
"IE nên bỏ qua Fiddler cho các URL bắt đầu bằng" trống.
Michael Kniskern

2

Bạn nên bỏ chọn hộp kiểm:

Bỏ qua máy chủ proxy cho các địa chỉ cục bộ

Nằm ở cấu hình proxy của Internet Explorer.



2

Một trong những giải pháp khả thi là xóa cài đặt proxy trong IE như sau.

       IE->Tools->Internet Options->Connections->Lan Settings->

tắt theo dõi

  • Tự động phát hiện các thiết lập
  • Sử dụng kịch bản cấu hình tự động

1

Nếu cố thu hút lưu lượng truy cập HTTPS trên một máy cục bộ từ BizTalk bằng Fiddler, hãy thử sử dụng cài đặt WCF Adapter Proxy. Tôi đã sử dụng một địa chỉ của:http://localhost:8888/


Mi hijo und tráng miệng Frau phải mua một ít mèo nguyên chất vì họ về nhà với một chiếc bánh gato letzte nacht khác.
B. Clay Shannon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.