NSUrlRequest: where an app can find the default headers for HTTP request?

后端 未结 3 1396
有刺的猬
有刺的猬 2020-12-15 14:28

Does anybody know where an iOS app can see the default headers that NSUrlRequest sets for an HTTP request?

Just creating NSUrlRequest with

相关标签:
3条回答
  • 2020-12-15 15:00

    hmm... maybe you might want to try within

    - (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse
    

    method in your custom nsurlconnection class. although the documentation mentions something about redirects, this is certainly worth looking into.

    0 讨论(0)
  • Your app cannot. It's done all down in CFNetwork - Communicating with HTTP Servers. I believe it just adds missing header values not supplied by NSURLRequest.

    The defaults are:

    • USER-AGENT "AppName - Eng/1.0 CFNetwork/485.13.9 Darwin/10.7.0"
    • ACCEPT "*/*"
    • ACCEPT-LANGUAGE "en-us"
    • ACCEPT-ENCODING "gzip, deflate"
    • CONNECTION "keep-alive"
    0 讨论(0)
  • 2020-12-15 15:12

    That may be an overkill, but based on Matt Gallagher's blog post I've created even more simpler local HTTP listener and sent a separate [mutableCopy]ed request to it to be able to read and output all HTTP headers that this request has.

    Better solution must be to setup a local HTTP request catcher, it must look nicer I think, but for the scope of simple demo just to show all sent/received headers this solution is OK.

    0 讨论(0)
提交回复
热议问题