Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
381 views
in Technique[技术] by (71.8m points)

ios - How to print AFNetworking request as RAW data

For debuging purposes I'd want to print whole request body. I'm using AFHTTPClient. printing client gives some information, like headers but post/get params are not there.

IS there a way to do it?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Built-in AFNetworking tools

For AFNetworking 1.x, use AFHTTPRequestOperationLogger.

For AFNetworking 2.x, use AFNetworkActivityLogger.

These tools both use the NSNotification broadcast by AFNetworking to log request and response data to the console. The amount of information to be displayed is configurable, and they can be configured to ignore certain operations.

Examination in Xcode without these tools

HTTP Requests (outgoing data)

If you want to examine the body of an outgoing request, look at the NSURLRequest's HTTPBody parameter, which is a property on your AFHTTPRequestOperation.

For example, in the method -[AFHTTPClient getPath: parameters: success: failure:], after the request is made, you can type this into the debugger:

po [[NSString alloc] initWithData:request.HTTPBody encoding:4]

4 is NSUTF8StringEncoding, as defined in NSString.h.

The NSURLRequest's HTTPMethod parameter provides the method (GET, POST, PUT, etc.) as an NSString.

HTTP Responses (incoming data)

When your server responds, your success completion block is passed an AFHTTPRequestOperation object (called operation by default). You can:

  • p (int)[[operation response] statusCode] to see the status code
  • po [[operation response] allHeaderFields] to see the headers
  • po [operation responseString] to see the response body
  • po [operation responseObject] to see the response object (which may be nil if it couldn't be serialized)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...