1 Question: Comment ajouter un en-tête de référent manquant à l'application Cordova IOS

question créée à Wed, May 8, 2019 12:00 AM

J'utilise Cordova pour créer une application iOS. J'utilise le moteur ionique , indiquant que l'application est diffusée depuis un serveur Web. en cours d'exécution sur le périphérique.

Mon window.location.origin est "ionic: //my-app.com".

Une API tierce (que je dois utiliser pour extraire une suggestion d'adresse en fonction de ce que l'utilisateur tape) refuse mes requêtes HTTP car l'en-tête 0600350991111101035062 est manquant dans la requête.

Il n'est pas possible d'ajouter par programme un référent à partir de la couche JS et ceux-ci ne fonctionnaient pas:

  • referrer

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

Je soupçonne que le problème est que l'API utilise <meta name="referrer" content="always"> et que mon application iOS utilise un schéma personnalisé (celui par défaut est 0600350991111101035062 et ne peut pas être remplacé par https). Pour cette raison, l’en-tête du référent n’est pas ajouté par WebView.

Comment puis-je résoudre ce problème?

    
0
  1. Une prime de 50 sera donnée à quiconque aidera à résoudre ce problème.
    2019-05-08 16: 14: 51Z
  2. Est-ce seulement cette API qui restreint votre accès à cause d'un référent manquant? Vous n'êtes peut-être pas assez désespéré à ce stade, mais acheminer votre demande par un serveur que vous contrôlez pour le transférer fonctionnera.
    2019-05-08 19: 02: 24Z
  3. Oui, c'est mon dernier recours. C'est la seule API à laquelle l'accès est limité en raison du référent manquant. : (
    2019-05-09 06: 09: 23Z
  4. Si vous contrôlez l'API tierce, vous pouvez envoyer des en-têtes personnalisés.
    2019-05-09 06: 55: 39Z
  5. Je ne contrôle pas l'API tierce
    2019-05-09 16: 56: 23Z
1 Réponses                              1                         

J'essaierais de suivre la solution CORS pour les applications natives qui utilisent le plugin HTTP de ionic. Voir ici pour plus de détails: https://ionicframework.com/docs/faq /cors # 1-native-only-apps-ios-android-

    
0
2019-05-09 07: 23: 53Z
  1. Nous utilisons Cordova, pas ionique. Nous utilisons le plugin cordova-plugin-ionic-webview pour utiliser le moteur Ionic et gagner en performance.
    2019-05-09 16: 55: 44Z
https
source placée ici