2011-11-30 14 views
5

muszę jak mogę wysłać żądanie HTTP DELETE, I zostały wdrożone poniższy kodWyślij http usunąć żądanie

- (void) deleteSyncRequestWithURL:(NSString *) url 
{ 
    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 

    [request setURL:[NSURL URLWithString:url]]; 
    [request setHTTPMethod:@"DELETE"]; 
    _connection = [[NSURLConnection connectionWithRequest:request delegate:self] retain];  
} 

Ale mam status 404.

Czy ktoś wie, czego mi brakuje?

P.S: Używam Xcode 3.2.3, symulator 4,0

+0

404 to "nie znaleziono dokumentu" - adres URL, który chcesz usunąć, nie istnieje. –

+0

ale zrobiłem to z innym klientem i działa – UnSaid

+2

Co oznaczałoby, że twój drugi klient usunął zasób, więc już nie istnieje? –

Odpowiedz

1

Wygląda to tak, jakby Twój Delete Żądanie jest wydawane prawidłowo, ale serwer jest wybór odpowiedzi z 404 - dokument nie znaleziono błąd.

Czy kontrolujesz także aplikację serwera? Czy na pewno serwer ma zasób pod tym adresem URL, który odpowiada na żądanie usunięcia?

Jeśli podejrzewasz, że zostało wysłane żądanie usunięcia - użyłbym proxy HTTP do bezpośredniego zbadania żądania, możesz następnie porównać z innym klientem. Chciałbym użyć Wireshark (na komputerze Mac). Jeśli drugi klient jest na komputerze PC, możesz użyć numeru Fiddler, który jest doskonały.

+0

Znalazłem błąd I Używałem http: // www .restOfMyUrl Powinienem użyć http: // restOfMyUrl, działa teraz, thx :)) – UnSaid

+0

Tak jak Marc B i ja powiedzieliśmy - czy masz jakiś zasób pod adresem URL? Odpowiedź brzmi: nie, ponieważ adres URL jest nieprawidłowy. Uważam, że narzędzia proxy HTTP, takie jak Wireshark i Fiddler, są niezbędnymi narzędziami przy pisaniu oprogramowania korzystającego z protokołu HTTP. Korzystając z takich narzędzi, można łatwo zauważyć, że aplikacja została wysłana pod niewłaściwy adres URL. – iandotkelly