2009-02-10 25 views
16

मैं एक आईफोन ऐप कोडिंग कर रहा हूं जिसे इंटरनेट पर छोटे HTTP अनुरोध करने की आवश्यकता है। हमारे कॉर्प लैन के भीतर, सभी HTTP ट्रैफिक को स्क्विड के माध्यम से जाना होगा।आईफोन सिम्युलेटर - सेट HTTP प्रॉक्सी

सिम्युलेटर स्पष्ट रूप से प्रॉक्सी का उपयोग करने में सक्षम है - क्योंकि मोबाइल सफारी काम करता है। लेकिन, मैं कोड में प्रॉक्सी सेटिंग्स कैसे प्राप्त/सेट करूं?

सिम्युलेटर के लिए हेडर का एक गुच्छा टिप्पणी की जाती है। केवल डिवाइस के लिए - उदाहरण के लिए,

CFNetworkCopySystemProxySettings 

CFProxySupport.h में सिम्युलेटर करने के लिए उपलब्ध नहीं है। मैंने इस तरह हार्डकोडिंग की कोशिश की है:

CFReadStreamSetProperty(stream, kCFProxyHostNameKey, @"internal.proxy.servername"); 
CFReadStreamSetProperty(stream, kCFProxyPortNumberKey, [NSNumber numberWithInt:80]); 
CFReadStreamSetProperty(stream, kCFProxyTypeKey, kCFProxyTypeHTTP); 

लेकिन कोई खुशी नहीं।

विचार?

उत्तर

4

इसे बंद करने के लिए। ऐसा लगता है कि यह आईओएस 4 एसडीके में तय है - सिम्युलेटर पर नेटवर्क स्टैक किसी भी HTTP कॉल के लिए मैक की प्रॉक्सी का उपयोग करेगा।

+5

मेरा नहीं है। क्या आपने कोशिश की है या क्या आप दस्तावेज़ों में कुछ पढ़ते हैं? – vlad259

+0

CFReadStreamRef का उपयोग करें और आपको पता चलेगा .. यह प्रॉक्सी का उपयोग नहीं करता .. – knocker

4

आप प्रॉक्सीफायर का उपयोग करने का प्रयास कर सकते हैं: http://www.proxifier.com/mac/ यह आपको किसी भी प्रोग्राम के लिए प्रॉक्सी सेट करने में सक्षम बनाता है।

आपने जो भी पूछा नहीं है, लेकिन इसे आपकी समस्या का समाधान करना चाहिए।

+0

मैं इसे एक साथ काम नहीं कर सका। – Worker

6

आप कोशिश कर सकते हैं:
"सिस्टम प्राथमिकताएं" -> "नेटवर्क" -> अपने नेटवर्क डिवाइस का चयन करें -> "उन्नत" -> "प्रॉक्सी"

+3

यह सेटिंग सिम्युलेटर में उपलब्ध नहीं है। – Jim

+0

ये ओएस एक्स निर्देश हैं - सिम्युलेटर मैक से नेटवर्क प्रॉक्सी सेटअप का उपयोग करेगा जो यह चलता है। –

+0

जो कष्टप्रद है, मैं अपने पूरे मैक को प्रॉक्सी नहीं करना चाहता, केवल सिम्युलेटर ... जैसे कि मैं परीक्षण फोन का उपयोग करते समय करता हूं – Anentropic

0

सिम्युलेटर शायद एक प्रॉक्सी का उपयोग करने में सक्षम नहीं है। यह मैक ओएस एक्स द्वारा प्रदान किए गए मानक नेटवर्किंग स्टैक का उपयोग कर रहा है, और है कि प्रॉक्सी का उपयोग कर रहा है।

यदि स्थिरांक सिम्युलेटर उपयोग के दौरान कॉन्स्टेंट को टिप्पणी की जाती है, और आपने इसे बिना किसी किस्मत के हार्ड कोडिंग करने का प्रयास किया है, तो यह शायद सिम्युलेटर और डिवाइस के बीच समान नहीं है, और यह कई चीजों में से एक है, और आपको किसी डिवाइस पर अपने एप्लिकेशन के इस हिस्से का परीक्षण करना होगा।

1

यह प्रश्न थोड़ा पुराना है, लेकिन सोचा कि मैं संदर्भ के लिए अपने निष्कर्ष जोड़ूंगा। कम से कम आईओएस 4.x एसडीके में, निम्न कोड सिम्युलेटर और आईफोन दोनों पर काम करता है।

CFDictionaryRef systemProxyDict = CFNetworkCopySystemProxySettings(); 
CFReadStreamSetProperty(m_resultRef, kCFStreamPropertyHTTPProxy, systemProxyDict); 
+0

प्रॉक्सी को प्रमाणीकरण की आवश्यकता होने पर मैं कैसे ठीक करूं? – knocker

2

ऐसा लगता है कि एक्सकोड 4.0 (4 ए 304 ए) ने इसे फिर से तोड़ दिया है। यदि मैं बुर्प के माध्यम से प्रॉक्सी http कॉल में स्टैक सेट करता हूं, तो प्रत्येक ऐप (सफारी, आदि) के साथ ठीक काम करता है लेकिन सिम्युलेटर।

2

बस आईफोन सिम्युलेटर को पुनरारंभ करें।

इस के लिए

मैं खुले पर स्विच >> पिकर देख सकते हैं और पुन: प्रारंभ करने के लिए पूछने के लिए यह प्रभावी >> प्रेस के लिए जारी कर निम्नलिखित चाल

की स्थापना करने के लिए >> जनरल >> पहुँच क्षमता >> बोल्ड पाठ जाना का उपयोग >> iPhone सिम्युलेटर अब पुनः आरंभ

पॉप अप उपयोगकर्ता नाम और प्रॉक्सी के लिए पासवर्ड के लिए पूछ ...

ios सिम्युलेटर 7.1

+0

8.1 के लिए काम नहीं कर रहा है – Caipivara

0

बस पास में परीक्षण किया है और विन्यास लागू करने के बाद सिम्युलेटर फिर से खोलना।

संबंधित मुद्दे