2011-11-30 70 views
5

tôi cần phải làm thế nào tôi có thể gửi một http xóa yêu cầu, tôi đã triển khai mã dưới đâyGửi http xóa yêu cầu

- (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];  
} 

Nhưng tôi đã có một trạng thái 404.

Có ai biết tôi đang thiếu gì không ??

Tái bút: Tôi đang sử dụng xcode 3.2.3, mô phỏng 4,0

+0

404 là "tài liệu không tìm thấy" - url bạn đang yêu cầu xóa không tồn tại. –

+0

nhưng tôi đã làm điều đó với khách hàng khác và nó hoạt động – UnSaid

+2

Điều đó có nghĩa là khách hàng khác của bạn đã xóa tài nguyên, vì vậy nó không còn tồn tại? –

Trả lời

1

Có vẻ như nếu yêu cầu Xóa của bạn đang được ban hành một cách chính xác, nhưng máy chủ được lựa chọn để đáp ứng với 404 - tài liệu không tìm thấy lỗi.

Bạn cũng có quyền kiểm soát ứng dụng máy chủ không? Bạn có chắc chắn máy chủ có tài nguyên tại URL đó phản hồi yêu cầu Xóa không?

Nếu bạn nghi ngờ yêu cầu Xóa được thực hiện - Tôi sẽ sử dụng proxy HTTP để kiểm tra yêu cầu trực tiếp, sau đó bạn có thể so sánh với ứng dụng khách khác của mình. Tôi sẽ sử dụng Wireshark (trên máy Mac). Nếu ứng dụng khách khác đang sử dụng PC, bạn có thể sử dụng Fiddler, điều tuyệt vời.

+0

Tôi đã tìm thấy lỗi 'm bằng cách sử dụng http: // www .restOfMyUrl Tôi nên sử dụng http: // restOfMyUrl, nó đang hoạt động, thx :)) – UnSaid

+0

Cũng như Marc B và tôi đã nói - bạn có tài nguyên tại URL không? Câu trả lời là không vì URL của bạn sai. Tôi tìm thấy các công cụ proxy HTTP như Wireshark và Fiddler là các công cụ thiết yếu khi viết phần mềm sử dụng HTTP. Sử dụng các công cụ như vậy, bạn có thể dễ dàng thấy rằng ứng dụng đã được gửi đến URL sai. – iandotkelly

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