网络代码

几个网络代码

隐藏了真实的服务器IP


1、采用CFHTTPMessage等
复制代码
  1.     
  2.     CFURLRef myWebserverURLRef = CFURLCreateWithString(kCFAllocatorDefault, CFSTR("http://192.168.0.1234"), NULL);
  3.     if(myWebserverURLRef != NULL)
  4.     {
  5.         // Create the HTTP message
  6.         CFHTTPMessageRef theMessageRef = CFHTTPMessageCreateRequest(kCFAllocatorDefault, CFSTR("POST"), myWebserverURLRef, kCFHTTPVersion1_1);
  7.         if(theMessageRef != NULL)
  8.         {
  9.             // Set useful headers
  10.             CFHTTPMessageSetHeaderFieldValue(theMessageRef, CFSTR("Accept"), CFSTR("application/xml;text/vnd.wap.wml;text/*,image/jpeg"));
  11.             CFHTTPMessageSetHeaderFieldValue(theMessageRef, CFSTR("Content-type"), CFSTR("application/html"));
  12.             CFHTTPMessageSetHeaderFieldValue(theMessageRef, CFSTR("Host"),CFSTR("192.168.0.1:1234"));
  13.             CFHTTPMessageSetHeaderFieldValue(theMessageRef, CFSTR("Connection"),CFSTR("Close"));
  14.             CFHTTPMessageSetHeaderFieldValue(theMessageRef, CFSTR("Accept-Charset"),CFSTR("utf-8;q=0.7,*;q=0.7"));
  15.             CFHTTPMessageSetHeaderFieldValue(theMessageRef, CFSTR("Content-Length"),CFSTR("688"));
  16.             
  17.             
  18.             // The body
  19.             NSString* filepath = [[NSString alloc] initWithFormat:@"%@/body.txt",[[NSBundle mainBundle] bundlePath]];
  20.             NSData *body = [NSData dataWithContentsOfFile:filepath];
  21.             CFHTTPMessageSetBody(theMessageRef, (CFDataRef)body);
  22.             
  23.             // Create the CFReadStreamRef
  24.             streamRef = CFReadStreamCreateForHTTPRequest(kCFAllocatorDefault, theMessageRef);
  25.             if(streamRef != NULL)
  26.             {            
  27.                 if(true)
  28.                 {
  29.                     
  30.                     int myHTTPSProxyPortNumber = 80;
  31.                     CFTypeRef keys[2], values[2];
  32.                     keys[0] = kCFStreamPropertyHTTPProxyHost;
  33.                     values[0] = CFSTR("10.0.0.172");
  34.                     keys[1] = kCFStreamPropertyHTTPProxyPort;
  35.                     values[1] = CFNumberCreate(NULL, kCFNumberSInt32Type, &myHTTPSProxyPortNumber);
  36.                     CFDictionaryRef proxyDict = CFDictionaryCreate(NULL, keys, values, 2, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
  37.                     CFReadStreamSetProperty(streamRef, kCFStreamPropertyHTTPProxy, proxyDict);
  38.                 }
  39.                 CFStreamClientContext streamcontext = {0, self, NULL, NULL, NULL};
  40.                 CFOptionFlags eventflags = kCFStreamEventOpenCompleted | kCFStreamEventHasBytesAvailable
  41.                 | kCFStreamEventEndEncountered | kCFStreamEventErrorOccurred;
  42.                 
  43.                 if (!CFReadStreamSetClient(streamRef, eventflags, ReadStreamClientCallBack, &streamcontext))
  44.                 {
  45.                     
  46.                     return ;
  47.                 }
  48.                 
  49.                 CFReadStreamScheduleWithRunLoop(streamRef, CFRunLoopGetCurrent(), kCFRunLoopCommonModes);




2、采用 NSURL
复制代码
  1.     NSURL *url = [NSURL  URLWithString:@"http://192.168.0.1:1234/"];
  2.     NSMutableURLRequest *request = [NSMutableURLRequest  requestWithURL:url];
  3.     [request setURL: url ];
  4.     NSString* filepath = [[NSString alloc] initWithFormat:@"%@/body.txt",[[NSBundle mainBundle] bundlePath]];
  5.     NSData *body = [NSData dataWithContentsOfFile:filepath];
  6.     [filepath release];
  7.     
  8.     [request setHTTPBody: body];
  9.     [request setHTTPMethod: @"POST"];
  10. //特别感谢xuepomh指正
  11.     [request setValue:@"Close" forHTTPHeaderField:@"Connection"];
  12.     [request setValue:@"192.168.0.1:1234" forHTTPHeaderField:@"Host"];
  13.     [request setValue:@"688" forHTTPHeaderField:@"Content-Length"];
  14.    NSURLConnection *urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:true];
  15.                 


3/socket
复制代码
  1. connect()
  2. send()
  3. while(1)
  4. {
  5. recv()
  6. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值