ios 네트워크 요청 코드
12008 단어 ios
CFURLRef myWebserverURLRef = CFURLCreateWithString(kCFAllocatorDefault, CFSTR("http://192.168.0.1234"), NULL);
if(myWebserverURLRef != NULL)
{
// Create the HTTP message
CFHTTPMessageRef theMessageRef = CFHTTPMessageCreateRequest(kCFAllocatorDefault, CFSTR("POST"), myWebserverURLRef, kCFHTTPVersion1_1);
if(theMessageRef != NULL)
{
// Set useful headers
CFHTTPMessageSetHeaderFieldValue(theMessageRef, CFSTR("Accept"), CFSTR("application/xml;text/vnd.wap.wml;text/*,image/jpeg"));
CFHTTPMessageSetHeaderFieldValue(theMessageRef, CFSTR("Content-type"), CFSTR("application/html"));
CFHTTPMessageSetHeaderFieldValue(theMessageRef, CFSTR("Host"),CFSTR("192.168.0.1:1234"));
CFHTTPMessageSetHeaderFieldValue(theMessageRef, CFSTR("Connection"),CFSTR("Close"));
CFHTTPMessageSetHeaderFieldValue(theMessageRef, CFSTR("Accept-Charset"),CFSTR("utf-8;q=0.7,*;q=0.7"));
CFHTTPMessageSetHeaderFieldValue(theMessageRef, CFSTR("Content-Length"),CFSTR("688"));
// The body
NSString* filepath = [[NSString alloc] initWithFormat:@"%@/body.txt",[[NSBundle mainBundle] bundlePath]];
NSData *body = [NSData dataWithContentsOfFile:filepath];
CFHTTPMessageSetBody(theMessageRef, (CFDataRef)body);
// Create the CFReadStreamRef
streamRef = CFReadStreamCreateForHTTPRequest(kCFAllocatorDefault, theMessageRef);
if(streamRef != NULL)
{
if(true)
{
int myHTTPSProxyPortNumber = 80;
CFTypeRef keys[2], values[2];
keys[0] = kCFStreamPropertyHTTPProxyHost;
values[0] = CFSTR("10.0.0.172");
keys[1] = kCFStreamPropertyHTTPProxyPort;
values[1] = CFNumberCreate(NULL, kCFNumberSInt32Type, &myHTTPSProxyPortNumber);
CFDictionaryRef proxyDict = CFDictionaryCreate(NULL, keys, values, 2, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
CFReadStreamSetProperty(streamRef, kCFStreamPropertyHTTPProxy, proxyDict);
}
CFStreamClientContext streamcontext = {0, self, NULL, NULL, NULL};
CFOptionFlags eventflags = kCFStreamEventOpenCompleted | kCFStreamEventHasBytesAvailable
| kCFStreamEventEndEncountered | kCFStreamEventErrorOccurred;
if (!CFReadStreamSetClient(streamRef, eventflags, ReadStreamClientCallBack, &streamcontext))
{
return ;
}
CFReadStreamScheduleWithRunLoop(streamRef, CFRunLoopGetCurrent(), kCFRunLoopCommonModes);
2.NSURL 사용
NSURL *url = [NSURL URLWithString:@"http://192.168.0.1:1234/"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setURL: url ];
NSString* filepath = [[NSString alloc] initWithFormat:@"%@/body.txt",[[NSBundle mainBundle] bundlePath]];
NSData *body = [NSData dataWithContentsOfFile:filepath];
[filepath release];
[request setHTTPBody: body];
[request setHTTPMethod: @"POST"];
// xuepomh
[request setValue:@"Close" forHTTPHeaderField:@"Connection"];
[request setValue:@"192.168.0.1:1234" forHTTPHeaderField:@"Host"];
[request setValue:@"688" forHTTPHeaderField:@"Content-Length"];
NSURLConnection *urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:true];
3\socket
connect()
send()
while(1)
{
recv()
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swift의 패스트 패스Objective-C를 대체하기 위해 만들어졌지만 Xcode는 Objective-C 런타임 라이브러리를 사용하기 때문에 Swift와 함께 C, C++ 및 Objective-C를 컴파일할 수 있습니다. Xcode는 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.