1 Pytanie: Jak dodać brakujący nagłówek odsyłający do aplikacji Cordova IOS

pytanie utworzone w Wed, May 8, 2019 12:00 AM

Używam Cordova do budowy aplikacji na iOS. Używam silnika jonowego , co oznacza, że ​​aplikacja jest obsługiwana z serwera internetowego uruchomiony na urządzeniu.

Mój window.location.origin to „ionic: //my-app.com”.

Interfejs API innej firmy (którego muszę użyć w celu pobrania sugestii adresu na podstawie tego, co typy użytkowników) odrzuca moje żądania HTTP, ponieważ w żądaniu brakuje nagłówka referrer.

Nie można programowo dodać odsyłacza z warstwy JS, a te nie zadziałały:

  • <meta name="referrer" content="origin">

  • <meta name="referrer" content="always">

Podejrzewam, że problem polega na tym, że interfejs API używa https, a moja aplikacja na iOS używa schematu niestandardowego (domyślny to ionic:// i nie można go zmienić na https). Z tego powodu nagłówek odsyłający nie jest dodawany przez WebView.

Jak mogę rozwiązać ten problem?

    
0
  1. 50 bounty zostanie przyznane każdemu, kto pomoże rozwiązać ten problem.
    2019-05-08 16: 14: 51Z
  2. Czy tylko jeden interfejs API ogranicza Twój dostęp z powodu brakującego odsyłacza? W tym momencie możesz nie być wystarczająco zdesperowany, ale przekierowanie żądania przez serwer, który kontrolujesz w celu przekazania żądania, będzie działać.
    2019-05-08 19: 02: 24Z
  3. Tak, to moja ostatnia szansa. Jest to jedyny interfejs API, który obecnie ogranicza dostęp z powodu brakującego odsyłacza. :(
    2019-05-09 06: 09: 23Z
  4. Jeśli kontrolujesz interfejs API innej firmy, możesz wysłać niestandardowe nagłówki.
    2019-05-09 06: 55: 39Z
  5. Nie kontroluję zewnętrznego interfejsu API
    2019-05-09 16: 56: 23Z
1 odpowiedzi                              1                         

Spróbowałbym wypróbować obejście CORS dla natywnych aplikacji, które używają wtyczki HTTP z jonowej. Więcej informacji znajdziesz tutaj: https://ionicframework.com/docs/faq /cors # 1-native-only-apps-ios-android-

    
0
2019-05-09 07: 23: 53Z
  1. Używamy Cordova, a nie Ionic. Używamy wtyczki cordova-plugin-ionic-webview, aby korzystać z silnika Ionic i uzyskać wydajność.
    2019-05-09 16: 55: 44Z
źródło umieszczone tutaj