2009-10-07 23 views
51

Veri almak için NSURL Bağlantısı kullanıyorum.Kullanıcı değiştiriliyor NSURLConnection

[NSURLConnection sendSynchronousRequest: 
//create request from url 
[NSURLRequest requestWithURL: 
    //create url from string 
    [NSURL URLWithString:url] 
] 
//request parameters 
returningResponse:nil error:nil 
] 

Kullanıcı aracısı dizesini değiştirmek mümkün mü? şu anda öyle:

AppName/appVersion CFNetwork/459 Darwin/10.0.0.d3

cevap

98

Obj C:

NSString* userAgent = @"My Cool User Agent"; 
NSURL* url = [NSURL URLWithString:@"http://whatsmyuseragent.com/"]; 
NSMutableURLRequest* request = [[[NSMutableURLRequest alloc] initWithURL:url] 
           autorelease]; 
[request setValue:userAgent forHTTPHeaderField:@"User-Agent"]; 

NSURLResponse* response = nil; 
NSError* error = nil; 
NSData* data = [NSURLConnection sendSynchronousRequest:request 
            returningResponse:&response 
               error:&error]; 

Swift:

let userAgent = "My Cool User Agent" 
if let url = NSURL(string: "http://whatsmyuseragent.com/") { 
    let request = NSMutableURLRequest(URL: url) 
    request.setValue(userAgent, forHTTPHeaderField: "User-Agent") 
    var response:NSURLResponse? = nil; 
    var error:NSError? = nil; 
    if let data = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: &error) { 
     // do something with your data 
    } 
} 
Eğer setValue `kullanıyor olmalıdır
+3

: forHTTPHeaderField:', sadece varsayılan bilgi eklemek yerine, UserAgent değiştirmek isterseniz bir. – Daniel

6

Evet, bir NSMutableURLRequest kullanmak ve kullanıcı aracısı dizesi için özel bir başlık alanını ayarlamak gerekir.

İlgili konular