सेट करें मैं एंड्रॉइड पर प्रतिक्रिया मूल के साथ User-Agent
सेट करने का प्रयास कर रहा हूं। कुछ शोध किया और ऐसा लगता है कि मुझे okhttp
इंटरसेप्टर का उपयोग करना चाहिए। एक उदाहरण जो मैंने पाया है यह कैसे समझाया जाना चाहिए (Link) लेकिन फिर मुझे इंटरसेप्टर को पंजीकृत करने के बारे में निश्चित नहीं है।एंड्रॉइड पर मूल और okhttp प्रतिक्रिया - उपयोगकर्ता-एजेंट
तो User-Agent
सेट करने के लिए मैं इस वर्ग का उपयोग कर रहा में:
public class CustomInterceptor implements Interceptor {
@Override public Response intercept(Interceptor.Chain chain) throws IOException {
Request originalRequest = chain.request();
Request requestWithUserAgent = originalRequest.newBuilder()
.removeHeader("User-Agent")
.header("User-Agent", "Trevor")
.build();
return chain.proceed(requestWithUserAgent);
}
}
तो क्या बचा है ऊपर इंटरसेप्टर रजिस्टर करने के लिए तो जहां यह किया जाना चाहिए है? शायद MainActivity.java
में?
OkHttpClient okHttp = new OkHttpClient();
okHttp.interceptors().add(new CustomInterceptor());
मैं किसी भी त्रुटि जब एप्लिकेशन बनाने नहीं मिल रहा है तो मुझे लगता है कि CustomInterceptor
ठीक होना चाहिए - बस एप्लिकेशन इसका इस्तेमाल करने की जरूरत है।
अद्यतन: मैं वर्तमान में MainActivity
में इंटरसेप्टर रजिस्टर करने के लिए कोशिश कर रहा हूँ, लेकिन यह यह लेने नहीं होगा:
public class MainActivity extends ReactActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(new CustomInterceptor());
};
};
हैलो @ एकोन्स्टेंटिनिडीस, मैं 'प्रतिक्रिया-मूल 'के साथ' ओखट्प 'का उपयोग करने का प्रयास करता हूं।हालांकि जब मैं 'प्रतिक्रिया-देशी रन-एंड्रॉइड' के आदेश को चलाता हूं तो मुझे एक त्रुटि मिलती है। आप उस पर काबू पाने में कैसे सफल हुए? – efkan
मुझे लगता है कि आप 'okhttp' lib का उपयोग करते हैं, आपको कोई त्रुटि नहीं मिली। 'प्रतिक्रिया-मूल' 'okhttp3' lib का उपयोग करता है और मैं दुर्भाग्य से उसी lib का उपयोग करने का प्रयास करता हूं। – efkan