2011-06-16 1 views
3

Я получаю доступ к API через HTTP и использую ASIHTTPRequest. Чтобы получить доступ к API я должен отправить дополнительные заголовки, которые я добавляю следующим:Добавить исходные заголовки при перенаправлении с ASIHTTPRequest

[request addRequestHeader:@"Access-Key" value:@"1234"]; 

Эти заголовки должны быть отправлены с каждым запросом. Когда я перенаправляюсь, эти заголовки теряются, поэтому я хотел бы их снова установить. Есть ли возможность установить их снова, прежде чем запрос перенаправления будет выполнен?

Когда я реализовать - (Недействительными) запрос: (ASIHTTPRequest *) запрос willRedirectToURL: (NSURL *) NEWURL метод, запрос будет отменено после того, как эта функция называется делегат. Это ошибка? Я использую версию v1.8.1-8 2011-06-05.

Благодарим за помощь!

ответ

3

Я мог бы решить проблему. ИМО Именование метода немного запутанно. Когда вы реализуете - (void)request:(ASIHTTPRequest *)request willRedirectToURL:(NSURL *)newURL, метод вызывается, но после того, как запрос не перенаправлен, как я получил. Вы должны направить запрос самостоятельно:

- (void)request:(ASIHTTPRequest *)request willRedirectToURL:(NSURL *)newURL { 
    // modify request here, e.g. set request headers again... 
    [request redirectToURL:newURL]; 
} 

Спасибо за чтение моего вопроса, надеюсь, что это поможет кому угодно.