Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective-C:Objective-C响应不同于具有类似http请求的curl响应_Objective C_Curl_Nsurlrequest - Fatal编程技术网

Objective-C:Objective-C响应不同于具有类似http请求的curl响应

Objective-C:Objective-C响应不同于具有类似http请求的curl响应,objective-c,curl,nsurlrequest,Objective C,Curl,Nsurlrequest,使用下面的curl命令,我能够获得一个带有所需标记的有效响应 curl -v -h "TOKEN:tokenValue" @“someurl.com” 但是,当我尝试创建如下所示的NSMutableURLRequest时,会得到不同的响应 NSURL* url = [NSURL URLWithString:kURL]; NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url]; [urlRequest

使用下面的curl命令,我能够获得一个带有所需标记的有效响应

curl -v -h "TOKEN:tokenValue" @“someurl.com” 
但是,当我尝试创建如下所示的NSMutableURLRequest时,会得到不同的响应

NSURL* url = [NSURL URLWithString:kURL];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest addValue:tokenValueStr forHTTPHeaderField:@"TOKEN"];
[urlRequest setHTTPMethod:@"GET"];
[NSURLConnection sendAsynchronousRequest:urlRequest
                                   queue:[NSOperationQueue mainQueue]
                       completionHandler:handler];

我已经检查了[RequestAllHttpHeaderFields],它显示了带有令牌键值对的字典。令牌和url是有效的url。理论上,这个请求是我应该得到正确响应的,但事实并非如此,我也没有在网上找到任何有用的参考资料。非常感谢您的建议。

当您将标题传递给curl时,必须给出标题的名称和值,如下所示:

HeaderName:HeaderValue

对于Objective-C参数,您将传入一个值和一个名称。值应该是“HeaderValue”,名称应该是“HeaderName”,在本例中是“TOKEN”

$TOKEN和
tokenStr
的值是多少?(另外,对于curl标志,我猜您的意思是-H而不是-H?)这些是我需要作为请求的一部分传递的令牌字符串。是的,我的意思是-H。我要求确保$TOKEN是“TOKEN:SomeValue”,而tokenStr只是“SomeValue”,这是我的错。你是对的。正如你所描述的。你是说像这样的事情吗?[urlRequest addValue:HttpHeaderField的HeaderValue:@“HeaderName”];因为我已经这么做了。我似乎误解了你上面的回答。如果情况如前所述,那么结果差异很可能是由于用户代理字符串造成的。你需要在你的问题中提供更多的信息来确定这一点。我应该提供什么信息?据我所知,这就是在这种情况下应该如何构造请求。如果我错了,请纠正我。我同意,这是应该如何处理的。但是我们需要更多地了解服务器在做什么。这是我们可以测试这些东西的公共服务器吗?如果不是,你能举个例子(去掉任何机密信息)吗?如果您使用Fiddler,请求看起来是否相同?等