[英]NSMutableURLRequest, cant access all request headers sent out from within my iPhone program
我正在創建一個iPhone http客戶端,該客戶端以其POST(或GET)發送2個標頭。
我的服務器收到7個標頭。
網絡庫添加了5個標頭。
有沒有辦法從ios程序中訪問添加的標頭?
要么
有沒有辦法抑制此功能,並且不向請求添加標頭?
我已經可以使用外部工具執行此操作。
我只需要ios程序來記錄所有發送的標頭。
這是所有丑陋的細節:
從我的iPhone發送請求的代碼:
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"BlahAgent" forHTTPHeaderField:@"User-Agent"];
[request setValue:@"keep-alive" forHTTPHeaderField:@"Connection"];
NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];
NSLog(@"all headers %@",request.allHTTPHeaderFields);
這將打印到xcode控制台:
all headers {
Connection = "keep-alive";
"User-Agent" = "BlahAgent";
}
在接收端(php)我運行
$allHeaders = getallheaders();
print_r($allHeaders)
並得到:
Array
(
[Host] => 192.168.0.15
[Accept-Encoding] => gzip, deflate
[Accept] => */*
[Accept-Language] => en-us
[Connection] => keep-alive
[Content-Length] => 0
[User-Agent] => BlahAgent
)
我什至做了一個鋼絲鯊,並得到:
POST /php/ajax.php HTTP/1.1
Host: 192.168.0.15
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-us
Connection: keep-alive
Content-Length: 0
User-Agent: BlahAgent
我又做了一次,但是使用GET並且沒有標題,得到了:
[Host] => 192.168.0.15
[Connection] => keep-alive
[Accept-Encoding] => gzip, deflate
[User-Agent] => Blah%20Agent/1.0 CFNetwork/672.0.8 Darwin/14.0.0
[Accept-Language] => en-us
[Accept] => */*
看起來我想要的東西無法完成 。
在這里討論
您可以設置本地服務器向其發送請求,然后將其發送回完整的請求,
但這有點像魯布·戈德堡式的。
要么
您可以使用較低級別的庫,而無需魔術精靈為您做任何事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.