如何向 GET 请求添加标头字段和参数?
Posted
技术标签:
【中文标题】如何向 GET 请求添加标头字段和参数?【英文标题】:How to add header fields and parameter to a GET request? 【发布时间】:2015-09-21 17:34:24 【问题描述】:我想从服务器发回一个 JSON 响应的 GET 请求。标题中应添加三个参数,其中一个参数作为查询字符串。现在我正在发送这样的请求 -
NSString *strUrl = [NSString stringWithFormat:@"https://www.ngyripq.com/query?number=123456789"];
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:strUrl] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];
[request setHTTPMethod:@"GET"];
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request addValue:@"my parameter 1" forHTTPHeaderField:@"parameter 1"];
[request addValue:@"my parameter 2" forHTTPHeaderField:@"parameter 2"];
DLog(@"%@", [request allHTTPHeaderFields])
NSURLConnection *conn = [[NSURLConnection alloc]initWithRequest:request delegate:self];
我在 didReceiveResponse 中收到错误响应,状态码为:404。这里有什么我遗漏的东西吗?提前感谢您的帮助。
<NSHTTPURLResponse: 0x7fc28e7cddc0> URL: <NSHTTPURLResponse: 0x7fc28e7cddc0> URL: https://www.ngyripq.com/query?number=123456789 status code: 404, headers
Connection = close;
"Content-Encoding" = gzip;
"Content-Length" = 205;
"Content-Type" = "text/html; charset=UTF-8";
Date = "Mon, 21 Sep 2015 17:05:27 GMT";
Server = "Apache/2.2.3 (Red Hat)";
Vary = "Accept-Encoding,User-Agent";
"X-Powered-By" = "Servlet/2.5 JSP/2.1";
【问题讨论】:
【参考方案1】:HTTP 错误 404 表示如果开发人员没有因其他原因引发此错误,则未找到页面。
首先要做的是检查您的网址是否正常。然后尝试使用 POSTMAN (https://www.getpostman.com) 发出请求,看看它是否正常工作。
然后在这个 URL 中创建一个请求 bin:http://requestb.in
并将你的请求指向它,然后你就可以看到你的 headers 是否正常。
【讨论】:
以上是关于如何向 GET 请求添加标头字段和参数?的主要内容,如果未能解决你的问题,请参考以下文章
如何在Python和Java中访问Google Cloud Endpoints请求标头