Как установить поле “CURLOPT_USERPWD” libcurl в NSURLConnection

Я пытаюсь получить доступ к веб-сервису с помощью NSURConnection, но я не уверен, как отправить пароль туда, потому что пример кода, данный в php, является полем установки CURLOPT_USERPWD libcurl и там, кажется, не такое поле в NSURLConnection/NSURLReqest.

1
задан itsaboutcode 14 August 2010 в 02:04
поделиться

1 ответ

Возьмите имя пользователя и пароль и соедините их двоеточием. Возьмите получившуюся строку и закодируйте ее в Base64. Возьмите строку в кодировке Base64 и добавьте "Basic" (с пробелом). Теперь возьмите эту строку ( Базовое [значение в кодировке Base64] ) и установите ее в качестве заголовка «Авторизация» для вашего запроса.

В качестве альтернативы, если вы используете методы делегата NSURLConnection , вы можете реализовать один из них примерно так:

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
  NSURLCredential * credential = [NSURLCredential credentialWithUser:username password:password persistence:NSURLCredentialPersistenceForSession];
  [[challenge sender] useCredential:credential forAuthenticationChallenge:challenge];
}

(предупреждение: непроверено, введено в браузере. caveat реализатор )

2
ответ дан 2 September 2019 в 22:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: