Принудительный запрос HTTP v1.0 с NSURLConnection - PullRequest
2 голосов
/ 13 мая 2009

NSURLConnection по умолчанию выполняет запрос GET с HTTP v1.1.

Как мне заставить его выполнить запрос GET с HTTP v1.0?

Или я могу установить HTTP-заголовок, который сделает это для меня?

Ответы [ 2 ]

6 голосов
/ 14 мая 2009

После быстрого просмотра API NSURLRequest я не вижу никакого способа сделать это с этого уровня, но вы можете сделать это, перейдя к API HTTPMessage в CFNetwork.framework (CoreServices.framework на Mac). Например:

CFHTTPMessageRef request = CFHTTPMessageCreateRequest( kCFAllocatorDefault,
    CFSTR("GET"), theURL, kCFHTTPVersion1_0 );

Если вы хотите обертку ObjC, есть несколько доступных, включая один из моих собственных . Это довольно простая оболочка для CF API, но из нее можно получить NSInputStream, который можно использовать для чтения данных ответов с использованием стандартных API NSInputStream.

Другие, такие как ASIHTTPRequest , предоставляют гораздо больший API, который вы можете предпочесть.

0 голосов
/ 09 июня 2009

В последней версии ASIHTTPRequest есть простой способ сделать это:

[request setUseHTTPVersionOne:YES];
...