2011-10-06 6 views
16

Próbuję dodać dane pliku binarnego bezpośrednio do treści żądania wywołania POST, aby móc symulować przesyłanie plików. Próbowałem jednak ustawić punkt przerwania "przed żądaniem" i użyć "wstawiania pliku", ale nie mogłem tego zmusić do działania. Próbowałem także zmodyfikować CustomRules.js, aby wstrzyknąć plik, ale nie mogłem znaleźć sposobu ładowania danych binarnych przez JScript. Czy jest tu łatwe rozwiązanie?Fiddler dodaje dane pliku binarnego do POST

+0

Jaki typ przesyłania robisz (np. Do jakiego serwera)? Różne serwery akceptują różne formaty. Najlepiej jest manipulować istniejącym przesyłaniem, ale możliwe jest wygenerowanie odpowiednio sformatowanego przesyłania za pomocą Fiddlera. – EricLaw

Odpowiedz

4

W skrypcie Fiddler (w Fiddler: Zasady ... skonfigurować reguły), znaleźć OnBeforeRequest funkcji i dodać linię podobną do:

if (oSession.uriContains("yourdomain")) 
{ 
    oSession.LoadRequestBodyFromFile("c:\\temp\\binarycontent.dat");  
} 
32

Jestem pewien, że jest to nowa funkcja w od czasu udzielenia odpowiedzi na to pytanie, ale pomyślałem, że dodam go w każdym razie:

Po prawej stronie pod polem tekstowym adresu URL znajduje się niebieski link "[Prześlij plik]" w programie Composer. Spowoduje to utworzenie pełnego zgłoszenia wieloczęściowego/danych formularza. Jeśli używasz tego, zauważysz w organizmie masz teraz coś, co wygląda tak:

< @INCLUDE C: \ Niektóre \ ścieżka \ my-image.jpg @>

W moim Sprawa, chciałem POST plik binarny bezpośrednio bez żadnych śmieci multipart, więc po prostu wstawiam do ciała żądania < @INCLUDE ... @> i to wysyła plik binarny jako ciało.

11

Aby wysłać wieloczęściowy/formularz danych, ten przepis zostanie udzielony.

W górnym panelu (nagłówek Http), ustaw Content-Type jak poniżej. Pozostałe wartości są automatycznie rozwiązywane.

Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468 

I, wprowadź Ciało odpowiedzi w poniższym panelu w następujący sposób.

---------------------------acebdf13572468 
Content-Disposition: form-data; name="description" 

the_text_is_here 
---------------------------acebdf13572468 
Content-Disposition: form-data; name="file"; filename="123.jpg" 
Content-Type: image/jpg 

<@INCLUDE *C:\Users\Me\Pictures\95111c18-e969-440c-81bf-2579f29b3564.jpg*@> 
---------------------------acebdf13572468-- 

Przepisy przywozowe są

  1. Content-Type powinny mieć dwa znaki bardziej niż brzegowych - słów w organizmie.
  2. Ostatni z korpusów powinien kończyć się dwoma znakami -.
1

od wersji 2.0, jednostka wnioskująca ma link "Prześlij plik ...", który umożliwia publikowanie/wysyłanie danych binarnych.