0

我們如何處理littleproxy中的http會話?我閱讀了幾種方法,其中可以使用HTTP cookie和其他HTTP驗證標頭。littleproxy中的http會話

littleproxy是否支持cookie處理,或者它是否支持身份驗證頭並向瀏覽器客戶端發送質詢響應401?

另一方面Cookie方法取決於Web服務器。在Web服務器分配它之前,用戶/瀏覽器將無法使用它。

我需要實現一個場景,我需要跟蹤HTTP代理上的每個用戶的交互,並根據其配置文件爲每個用戶提供特定的處理。我可能會阻止或刪除給定用戶的網頁圖像,但允許其他人使用。如何區分一個用戶與另一個用戶生成的HTTP流量?

回答

2

我認爲使用cookies是一個好主意,因爲它們將被瀏覽器保留,並在每次請求時發送回代理。

你將基本需要添加一個過濾器,並檢查/插入餅乾的要求:

return new HttpFiltersSourceAdapter() { 
     @Override 
     public HttpFilters filterRequest(HttpRequest originalRequest) { 
      return new HttpFiltersAdapter(originalRequest) { 

       @Override 
       public HttpResponse requestPre(HttpObject httpObject) { 
        if (httpObject instanceof HttpRequest) { 
         // check the cookie here 
        } 
        return super.requestPre(httpObject); 
       } 

       @Override 
       public HttpObject responsePre(HttpObject httpObject) { 
        if (httpObject instanceof HttpResponse) { 
         HttpResponse response = (HttpResponse) httpObject; 
         response.headers().set(HttpHeaders.Names.SET_COOKIE, ServerCookieEncoder.encode("Content", "Some")); 
         return response; 
        } 

        return httpObject; 
       } 
      }; 
     } 
    };