相关疑难解决方法(0)

如何在Swift中发出HTTP请求+基本身份验证

我有一个基本身份验证的RESTFull服务,我想从iOS + swift调用它.我必须如何以及在哪里提供此请求的凭据?

我的代码(抱歉,我刚开始学习iOS/obj-c/swift):

class APIProxy: NSObject {
var data: NSMutableData = NSMutableData()

func connectToWebApi() {
    var urlPath = "http://xx.xx.xx.xx/BP3_0_32/ru/hs/testservis/somemethod"
    NSLog("connection string \(urlPath)")
    var url: NSURL = NSURL(string: urlPath)
    var request = NSMutableURLRequest(URL: url)
    let username = "hs"
    let password = "1"
    let loginString = NSString(format: "%@:%@", username, password)
    let loginData: NSData = loginString.dataUsingEncoding(NSUTF8StringEncoding)
    let base64LoginString = loginData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.fromMask(0))
    request.setValue(base64LoginString, forHTTPHeaderField: "Authorization")

    var connection: NSURLConnection = NSURLConnection(request: request, delegate: self)

    connection.start()
}


//NSURLConnection delegate method
func connection(connection: NSURLConnection!, didFailWithError error: NSError!) …
Run Code Online (Sandbox Code Playgroud)

ios swift

85
推荐指数
4
解决办法
10万
查看次数

在Swift中使用标头发出HTTP请求

我正在尝试向Imgur API发出HTTP请求.我正在尝试检索与标签"cats"相关的所有图像.根据Imgur API,网址为:https://api.imgur.com/3/gallery/t/cats

Imgur API声明了以下有关获取请求所需的授权:

对于公共只读和匿名资源,例如获取图像信息,查找用户评论等,您只需要client_id在您的请求中发送授权标题.如果您想要匿名上传图像(图像
不附加到帐户),或者您想要创建匿名
相册,这也适用.这让我们知道哪个应用程序正在访问API.

Authorization: Client-ID YOUR_CLIENT_ID
Run Code Online (Sandbox Code Playgroud)

我看了下面的问题,并尝试了那里的建议,但没有一个有帮助.

带有凭据的JSON NSURLRequest

带参数的Swift GET请求

如何在Swift中创建一个Http get并设置httpHeader?

我目前的代码是这样的:

let string = "https://api.imgur.com/3/gallery/t/cats"
let url = NSURL(string: string)
let request = NSMutableURLRequest(URL: url!)
request.setValue("clientIDhere", forHTTPHeaderField: "Authorization")
//request.addValue("clientIDhere", forHTTPHeaderField: "Authorization")
request.HTTPMethod = "GET"
let session = NSURLSession.sharedSession()

let tache = session.dataTaskWithRequest(request) { (data, response, error) -> Void in
    if let antwort = response as? NSHTTPURLResponse {
        let code = antwort.statusCode
        print(code)
    }
}
tache.resume() …
Run Code Online (Sandbox Code Playgroud)

imgur ios nsurlsession swift

16
推荐指数
2
解决办法
2万
查看次数

标签 统计

ios ×2

swift ×2

imgur ×1

nsurlsession ×1