代码之家  ›  专栏  ›  技术社区  ›  jantimon

更改NSURLConnection的userAgent

  •  54
  • jantimon  · 技术社区  · 16 年前

    嘿,我正在使用NSURL连接来接收数据。

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

    现在是:

    2 回复  |  直到 16 年前
        1
  •  108
  •   udondan    10 年前

    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];
    

    斯威夫特:

    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
       }
     }
    
        2
  •  6
  •   Mike Abdullah    16 年前

    是的,您需要使用 NSMutableURLRequest 并为用户代理字符串设置自定义标题字段。