首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Objective中为http设置HTTP头?

如何在Objective中为http设置HTTP头?
EN

Stack Overflow用户
提问于 2014-09-25 09:57:37
回答 4查看 1.1K关注 0票数 0

我正试图在IOS中实现Http。

我使用以下代码向服务器发送GET命令。

代码语言:javascript
复制
SERVER_IP        = @"xxx.xx.xxx.xxx";
PORT             = @"12345";
USER_ID             = @"1234-1234-1234-1234-1234";
USER_PWD             = @"123456";
url = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@:%@/message/user/%@",SERVER_IP,PORT,USER_ID]];

[request setHTTPMethod:@"GET"];
    request = [NSURLRequest requestWithURL:url];

    NSDictionary *header = [request allHTTPHeaderFields];
    [header setValue:@"Authorization" forKey:USER_PWD];

    [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        NSString *html = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"%@",html);
    }];

它在日志中显示**The resource requires authentication, which was not supplied with the request**

我已经设置了参数header,但不知道如何使用它。

有人能帮我,教我如何实现GET命令和设置密码吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-09-25 10:12:34

使用以下方法:

代码语言:javascript
复制
[request setValue:@"xxx" forHTTPHeaderField:@"Content-Type"];

但是你必须把NSURLRequest改为NSMutableURLRequest,请检查Zaph的答案。

票数 1
EN

Stack Overflow用户

发布于 2014-09-25 10:10:31

头信息被添加到URLRequest中。

创建一个NSMutableURLRequest并使用setValue:forHTTPHeaderField:方法将标题添加到请求中。

还有许多其他设置可用于NSMutableURLRequest

票数 1
EN

Stack Overflow用户

发布于 2014-09-25 10:12:44

您需要以某种方式在NSURLRequest上设置标头,这样就可以了。

代码语言:javascript
复制
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];
[request setHTTPMethod:@"GET"];
[request setValue:USER_PWD forHTTPHeaderField:@"Authorization"];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26035674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档